extjs与后台交互
test.jap
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript" src="js/test1.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
<html:form styleId="mainform" action="InsertAction" method="post">
<td width="200" align="center">
<html:submit value="bbbbbb" onclick="queryAll();"></html:submit>
</td>
<div id="grid" style="height:265px;"> </div>
<%--<input id="btnAlert" type="button" value="alert框" />
--%><select name="sexList" id="sexList" style="display: none;">
<option>男</option>
<option>女</option>
</select>
</html:form>
</body>
</html>
*****************************************************************************************
test1.js
Ext.onReady(function() {
var sm = new Ext.grid.CheckboxSelectionModel();
// //定义一个ColumnModel,表头中有四列
var cm = new Ext.grid.ColumnModel([
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'InsertAction.do?method=TestGoogle'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'}, [ {name: 'id'}, {name: 'name'}, {name: 'descn'}])});
var grid = new Ext.grid.GridPanel({
el: 'grid',
ds: ds,
cm: cm,
bbar: new Ext.PagingToolbar({ pageSize: 10, store: ds, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" })
});
ds.load({params:{start:0,limit:10}});
grid.render();
});
*************************************************************************************************
insertaction.java
package com.cosmic.struts.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.cosmic.conn.CommonDao;
import com.cosmic.conn.CommonData;
import com.cosmic.struts.form.InsertForm;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class InsertAction extends DispatchAction {
public ActionForward TestGoogle(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
InsertForm insertForm = (InsertForm)form;
DataSource ds = this.getDataSource(request);
CommonDao dao=new CommonDao(ds);
CommonData cd = cd = new CommonData();
try {
List list = dao.getAll();
Iterator iter = list.iterator();
String start = request.getParameter("start");
String limit = request.getParameter("limit");
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
boolean flag = false;
String json = "{totalProperty:73," +
"root:[";
for (int i = index; i < pageSize + index && iter.hasNext(); i++)
{
for(int j=0;j<index&&flag==false;j++)
{
cd = (CommonData) iter.next();
}
flag = true;
cd = (CommonData) iter.next();
json += "{id:" + cd.getCityCode() + ",name:'" + cd.getStaffName() + "',descn:'" + cd.getEmail()+ "'}";
if(i>71)
{
break;
}
if (i != pageSize + index - 1) { json += ","; }
}
json += "]}";
response.getWriter().write(json);
} catch(Exception ex) {}
// return mapping.findForward("success");
return null;
}
}
*************************************************************************************************
commondao.java
package com.cosmic.conn;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.sql.DataSource;
public class CommonDao {
private DataSource ds = null;
public CommonDao(DataSource ds) {
this.ds = ds;
}
public List getAll()throws Exception {
Connection con=null;
con=ds.getConnection();
List all=new ArrayList();
CommonData cd=null;
try{
String sql="select * from st_store";
PreparedStatement pstmt=null;
pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
while(rs.next())
{
cd=new CommonData();
cd.setCityCode(rs.getString("city_Code"));
cd.setStaffName(rs.getString("store_code"));
cd.setEmail(rs.getString("version"));
all.add(cd);
}
}catch(SQLException e){
e.printStackTrace();
}finally{
if(con!=null){
con.close();
}
}
return all;
}
public Connection getConnection() throws SQLException{
return ds.getConnection();
}
public void commit(Connection con) throws SQLException{
con.commit();
}
public void rollback(Connection con) throws SQLException{
con.rollback();
}
}