jqgrid 分页javar端使用

上一篇文章简单的讲了我在项目中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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值