jqgrid 分页javar端使用

来源:互联网 发布:毕厶迦男装淘宝店 编辑:程序博客网 时间:2024/05/23 01:55

上一篇文章简单的讲了我在项目中jqgrid前端分页的一些内容,这篇就从后端来看一下如何分页

项目中struts2+spring+hibernate3

<span style="font-size:18px;">package com.ibm.pims.framework.server.support;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.struts2.ServletActionContext;import com.ibm.pims.framework.server.metadata.Page;import com.ibm.pims.framework.server.struts.AjaxResult;import com.ibm.pims.framework.server.struts.AjaxResult.ErrorType;public class JqGridBaseAction<T> extends BaseAction {private static final long serialVersionUID = 2114802374736799234L;private boolean search;private int rows; //记录数private int page;//当前页private int rowNum;//每页显示行数private String nd;private String sidx;private String sord;private Map<String, String> searchFields = new HashMap<String, String>(0);private Map<String, String[]> searchArrays = new HashMap<String, String[]>(0); public void populateJqGridData() {@SuppressWarnings("rawtypes")Map parameters = ServletActionContext.getRequest().getParameterMap();@SuppressWarnings("unchecked")Set<String> keys = parameters.keySet();for (String key : keys) {String[] values = (String[]) parameters.get(key);if ("sidx".equals(key)) {if ((null != values) && (values.length > 0))this.sidx = values[0];} else if ("sord".equals(key)) {if ((null != values) && (values.length > 0))this.sord = values[0];} else if ("_search".equals(key)) {if ((null != values) && (values.length > 0))this.search = Boolean.parseBoolean(values[0]);} else if ("rows".equals(key)) {if ((null != values) && (values.length > 0))this.rows = Integer.parseInt(values[0]);} else if ("page".equals(key)) {if ((null != values) && (values.length > 0))this.page = (Integer.parseInt(values[0]) - 1);} else if ("nd".equals(key)) {if ((null != values) && (values.length > 0))this.nd = values[0];} else if ("rowNum".equals(key)) {if ((null != values) && (values.length > 0)) {this.rowNum = Integer.parseInt(values[0]);pageSize = this.rowNum;}} else if (key.endsWith("Array")) {this.searchArrays.put(key, values);} else {if (key.equals("pageCache")) {continue;}if ((null != values) && (values.length > 0))this.searchFields.put(key, values[0]);}}}public Map<String, String[]> getSearchArrays() {return this.searchArrays;}public void setSearchArrays(Map<String, String[]> searchArrays) {this.searchArrays = searchArrays;}public boolean isSearch() {return this.search;}public void setSearch(boolean search) {this.search = search;}public int getRows() {return this.rows;}public void setRows(int rows) {this.rows = rows;}public int getPage() {return this.page;}public void setPage(int page) {this.page = page;}public String getNd() {return this.nd;}public void setNd(String nd) {this.nd = nd;}public String getSidx() {return this.sidx;}public void setSidx(String sidx) {this.sidx = sidx;}public String getSord() {return this.sord;}public void setSord(String sord) {this.sord = sord;}public int getRowNum() {return this.rowNum;}public void setRowNum(int rowNum) {this.rowNum = rowNum;}public Map<String, String> getSearchFields() {return this.searchFields;}public void setSearchFields(Map<String, String> searchFields) {this.searchFields = searchFields;}}</span>
在相应的Action继承jqgridbaseAction使用分页的时候就可以把分页信息通过getPageSize和getPage()带到DAO层了

其中的成员变量对应着jqGrid的prmNames和jsonReader中的设置。

 

成员变量对应 prmNames对应 jsonReader注释rowsrows-每页中现实的记录行数searchsearch-是否是用于查询的请求sidxsort-用于排序的列名sordorder-排序的方式pagepagepage当前页码gridModel-root用于得到实际数据的数组名称total-total总页数record-records总记录数上个表格中的一些属性在上篇博文有介绍,表格来源http://blog.csdn.net/gengv/article/details/5714834#

昨天jqgird的分页点击next怎么也没有效果,查阅n多资料都不行后来clean project ,重启项目清除IE缓存发现分页居然可以了,很郁闷。。。。



0 0