1、js代码:
- <script>
- $(function(){
- $('#tt').datagrid({
- title:'交易码列表',
- iconCls:'icon-edit',//图标
- width: 700,
- height: 'auto',
- nowrap: false,
- striped: true,
- border: true,
- collapsible:true,//是否可折叠的
- fit: true,//自动大小
- url:'admin/TransCode-list',
- //sortName: 'code',
- //sortOrder: 'desc',
- remoteSort:false,
- idField:'id',
- singleSelect:false,//是否单选
- pagination:true,//分页控件
- rownumbers:true//行号
- });
- //设置分页控件
- var p = $('#tt').datagrid('getPager');
- $(p).pagination({
- pageSize: 10,//每页显示的记录条数,默认为10
- pageList: [5,10,15],//可以设置每页记录条数的列表
- beforePageText: '第',//页数文本框前显示的汉字
- afterPageText: '页 共 {pages} 页',
- displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录'
- });
- });
- </script>
2、jsp代码:
- <table id="tt">
- <thead>
- <tr>
- <th field="id" width="100">ID</th>
- <th field="tranNo" width="100">交易码</th>
- <th field="tranName" width="100">交易名称</th>
- <th field="cr_Num" width="100">CR号</th>
- </tr>
- </thead>
- </table>
3、action代码:
- public class TransCodeAction extends ActionSupport {
- private List<TransCode> transCodes;
- private TransCodeManager transCodeManager;
- private int id;
- private JSONObject resultObj ;
- <strong>private String rows;//每页显示的记录数
- private String page;//当前第几页</strong>
- //这两个属性是datagrid分页提供的两个参数,参数名一定是这样的,当前台发送请求时会把这两个数据带到action中
- public JSONObject getResultObj() {
- return resultObj;
- }
- public void setResultObj(JSONObject resultObj) {
- this.resultObj = resultObj;
- }
- public String list() {
- HttpServletResponse resp = ServletActionContext.getResponse();
- resp.setContentType("application/json");
- <strong> //当前页
- int intPage = Integer.parseInt((page == null || page == "0") ? "1":page);
- //每页显示条数
- int number = Integer.parseInt((rows == null || rows == "0") ? "5":rows);
- //每页的开始记录 第一页为1 第二页为number +1
- int start = (intPage-1)*number;</strong>
- transCodes = transCodeManager.getAllByPage(start,number);//通过hibernate进行分页查询
- ArrayList al = new ArrayList();
- for(TransCode tc:transCodes)
- {
- Map<String, Object> m = new HashMap<String, Object>();
- m.put("id", tc.getId());
- m.put("tranName", tc.getTranName());
- m.put("tranNo", tc.getTranNo());
- m.put("cr_Num", tc.getCr_Num());
- al.add(m);
- }
- Map<String, Object> json = new HashMap<String, Object>();
- json.put("total", <strong>transCodeManager.totalCount()</strong>);//total键 存放总记录数,必须的 json.put("rows", jsonArray);// rows键 存放每页记录 list (粗体字表示所有记录数据条数)
- json.put("rows", al);
- resultObj = JSONObject.fromObject(json);// 格式化result一定要是JSONObject
- return SUCCESS;
- }
- public List<TransCode> getTransCodes() {
- return transCodes;
- }
- public void setTransCodes(List<TransCode> transCodes) {
- this.transCodes = transCodes;
- }
- public TransCodeManager getTransCodeManager() {
- return transCodeManager;
- }
- @Resource
- public void setTransCodeManager(TransCodeManager transCodeManager) {
- this.transCodeManager = transCodeManager;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getRows() {
- return rows;
- }
- public void setRows(String rows) {
- this.rows = rows;
- }
- public String getPage() {
- return page;
- }
- public void setPage(String page) {
- this.page = page;
- }
- }
3、struts.xml
- <package name="admin" namespace="/admin" extends="json-default" >
- <action name="*-list" class="TransactionSystem.action.{1}Action" method="list">
- <result type="json" >
- <param name="root">resultObj</param>
- </result>
- </action>
- </package>
效果图