您的位置:首页 > 编程语言 > Java开发

ext表格分页控件与struts交互的实例

2008-11-12 21:21 393 查看
LoginAction .java
-----------------------------------------------------------------------
package com.yourcompany.struts.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
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.test.Grid;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
e.printStackTrace();
}
// 得到页面传过来的参数
String start = request.getParameter("start");
String limit = request.getParameter("limit");
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
// 初始化
List jlist = new ArrayList();
for (int i = index; i < pageSize + index; i++) {
Grid bean1 = new Grid();
bean1.setId(String.valueOf(i));
bean1.setName("name" + i);
bean1.setDescn("descn" + i);
jlist.add(bean1);
}
// 初始化
Map map = new HashMap();
map.put("totalProperty", 100);
map.put("root", jlist);
// 转换成对象,不要转换成数组
JSONObject obj = JSONObject.fromObject(map);
// 输出到列表
out.print(obj);
return null;
}
}

index.htm
-----------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>New Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css"
href="lib/ext/resources/css/ext-all.css" />
<script type="text/javascript" src="lib/ext/adapter/ext/ext-base.js">
</script>
<script type="text/javascript" src="lib/ext/ext-all.js">
</script>
</head>
<body>
<script>
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([{
header: '编号',
dataIndex: 'id'
}, {
header: '名称',
dataIndex: 'name'
}, {
header: '描述',
dataIndex: 'descn'
}]);

var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'login.do'
}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
}, [{
name: 'id'
}, {
name: 'name'
}, {
name: 'descn'
}])

});

var grid = new Ext.grid.GridPanel({
el: 'grid',
store: store,
cm: cm,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: store,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
ds.load({
params: {
start: 0,
limit: 10
}
});

grid.render();

});
</script>
<body>
<div id="grid" style="height:265px;">
</div>
</body>
</html>
-----------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: