文件转自:http://blog.csdn.net/lhmfaint/article/details/7072696
JSP代码,调用JS文件
- <%@
page language="java" import="java.util.*" pageEncoding="utf-8"%> - <%
-
String path = request.getContextPath(); -
String basePath = request.getScheme() + "://" -
+ request.getServerName() + ":" + request.getServerPort() -
+ path + "/"; - %>
- <html>
-
<head> -
<base href="<%=basePath%>"> -
<link rel="stylesheet" type="text/css" href="css/ext-all.css" /> -
<script type="text/javascript" src="js/ext-base.js"></script> -
<script type="text/javascript" src="js/ext-all-debug.js"></script> -
<script type="text/javascript" src="js/hello.js"></script> -
</head> -
<body> -
</body> - </html>
JSP代码,读取数据库信息,并返回JSON数据
- <%@
page language="java" import="java.util.*" pageEncoding="utf-8"%> - <%@
page import="java.sql.*"%> - <%@
page import="dao.Dbdao"%> - <%@page
import="net.sf.json.JSONArray"%> - <%
-
String path = request.getContextPath(); -
String basePath = request.getScheme() + "://" -
+ request.getServerName() + ":" + request.getServerPort() -
+ path + "/"; - %>
- <%
-
try { -
Dbdao dd = new Dbdao("com.mysql.jdbc.Driver", -
"jdbc:mysql://localhost:3306/mydata", "root", "admin"); -
Connection conn = dd.getConnection(); -
Statement stmt = conn.createStatement(); -
ResultSet rs = stmt.executeQuery("SELECT * FROM `mydata`"); -
Map result = new HashMap(); -
List list = new ArrayList(); -
while (rs.next()) { -
Map dynBean = new HashMap(); -
dynBean.put("company", rs.getString("company")); -
dynBean.put("price", rs.getString("price")); -
dynBean.put("change", rs.getString("change")); -
dynBean.put("pctChange", rs.getString("pctChange")); -
dynBean.put("lastChange", rs.getString("lastChange")); -
list.add(dynBean); -
} -
//使用store接收的功能 -
result.put("totalCount", 100); -
result.put("list", list); -
-
//JSONArray json = JSONArray.fromObject(result); -
//StringBuffer sb = new StringBuffer(json.toString()); -
//System.out.println(sb.length()); -
//String str=sb.toString().substring(1, sb.length()-1); -
//System.out.println(str); -
//out.write(str); -
-
//使用jsonStore接收的功能 -
JSONArray json = JSONArray.fromObject(list); -
StringBuffer sb = new StringBuffer(json.toString()); -
System.out.println(sb.length()); -
System.out.println(sb); -
-
//sb.deleteCharAt(0).deleteCharAt(sb.length()-1); -
System.out.println("==" + sb.toString()); -
response.setContentType("application/x-json"); -
out.write(sb.toString()); -
//sout.write(list.toString()); -
} catch (Exception ex) { - ex.printStackTrace();
-
} - %>
JS文件
- Ext.onReady(function()
{ -
var store = new Ext.data.JsonStore({ -
url: 'extjsjson.jsp', -
autoLoad: true, -
// idProperty: 'company', -
fields: ['company', 'price', 'change', 'pctChange','lastChange'], -
listeners : { -
load : function(store,records,options) { -
alert("JsonStore"); -
} -
} -
}); - //
var store = new Ext.data.Store({ - //
proxy : new Ext.data.HttpProxy({ - //
url : 'extjsjson.jsp' - //
}), - //
reader : new Ext.data.JsonReader({ - //
root : "list", - //
totalProperty : "totalCount", - //
fields : ['price', 'company', 'change', - //
'pctChange', 'lastChange'] - //
}), - //
remoteSort : true, - //
listeners : { - //
load : function(store, records, options) { - //
alert("Store"); - //
} - //
} - //
}); -
-
-
var grid = new Ext.grid.GridPanel({ -
store : store, -
columns : [{ -
id : 'company', -
header : 'Company11', -
width : 160, -
sortable : true, -
dataIndex : 'company' -
}, { -
header : 'Price', -
width : 75, -
sortable : true, -
dataIndex : 'price' -
}, { -
header : 'Change', -
width : 75, -
sortable : true, -
dataIndex : 'change' -
}, { -
header : '% Change', -
width : 75, -
sortable : true, -
dataIndex : 'pctChange' -
}, { -
header : 'Last Updated', -
width : 85, -
sortable : true, -
//renderer : Ext.util.Format -
//.dateRenderer('Y-m-d H:i:s'), -
dataIndex : 'lastChange' -
}], -
stripeRows : true, -
autoExpandColumn : 'company', -
height : 500, -
width : 600, -
title : '表格', -
stateful : true, -
stateId : 'grid' -
}); -
-
var win = new Ext.Window({ -
width : 600, -
height : 450, -
title : '标题', -
items : [grid], -
buttons : [{ -
text : '增', -
// 增加按钮 -
handler : function() { -
// insert() -
} -
}, { -
text : '删', -
// 删除按钮 -
handler : function() { -
datadelete() -
} -
}, { -
text : '加载数据', -
handler : function() { -
// debugger; -
store.load(); -
} -
}] -
}).show(); -
});
JAVA文件,DAO层,获取数据库连接
- package
dao; -
- import
java.sql.Connection; - import
java.sql.DriverManager; - import
java.sql.PreparedStatement; - import
java.sql.ResultSet; -
- public
class Dbdao { -
private Connection conn; -
private String driver; -
private String url; -
private String username; -
private String pass; -
-
public Dbdao(String driver, String url, String username, String pass) { -
this.driver = driver; -
this.url = url; -
this.username = username; -
this.pass = pass; -
-
} -
-
public String getDriver() { -
return driver; -
} -
-
public void setDriver(String driver) { -
this.driver = driver; -
} -
-
public String getUrl() { -
return url; -
} -
-
public void setUrl(String url) { -
this.url = url; -
} -
-
public String getUsername() { -
return username; -
} -
-
public void setUsername(String username) { -
this.username = username; -
} -
-
public String getPass() { -
return pass; -
} -
-
public void setPass(String pass) { -
this.pass = pass; -
} -
-
public Connection getConnection() throws Exception { -
if (conn == null) { -
Class.forName(this.driver); -
conn = DriverManager.getConnection(url, username, this.pass); -
} -
return conn; -
} -
-
public boolean insert(String sql, Object... args) throws Exception { -
PreparedStatement pstmt = getConnection().prepareStatement(sql); -
for (int i = 0; i < args.length; i++) { -
pstmt.setObject(i +1, args[1]); -
} -
if (pstmt.executeUpdate() != 1) { -
return false; -
} -
return true; -
} -
-
public ResultSet query(String sql, Object... args) throws Exception { -
PreparedStatement pstmt = getConnection().prepareStatement(sql); -
for (int i = 0; i < args.length; i++) { -
pstmt.setObject(i + 1, args[1]); -
} -
return pstmt.executeQuery(); -
} -
-
public void modify(String sql, Object... args) throws Exception { -
PreparedStatement pstmt = getConnection().prepareStatement(sql); -
for (int i = 0; i < args.length; i++) { -
pstmt.setObject(i + 1, args[1]); -
} -
pstmt.executeUpdate(); -
pstmt.close(); -
} -
-
public void closeConn() throws Exception { -
if (conn != null && !conn.isClosed()) { -
conn.close(); -
} -
} - }