Struts2获取easyUI datagrid 分页参数page和rows

用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分。

获取方法:定义两个变量page和rows,设置对应的getter,setter方法,在方法中直接获取就能打得。easyUI默认的每次请求时都会传递这两个参数。

  1. public int getPage() {
  2. return page;
  3. }
  4. public void setPage(int page) {
  5. this.page = page;
  6. }
  7. public int getRows() {
  8. return rows;
  9. }
  10. public void setRows(int rows) {
  11. this.rows = rows;
  12. }
  1. public String getAllPages() {
  2. List<Emp> plist = empDao.findAll();
  3. PageHelper.startPage(page, rows);
  4. List<Emp> elist = empDao.findAll();
  5. // 判断
  6. if (elist.size() > 0) {
  7. map.put("total", plist.size());
  8. map.put("rows", elist);
  9. return SUCCESS;
  10. }
  11. return ERROR;
  12. }

返回的数据必须转成json格式

    1. <!-- 配置查询所有方法Action -->
    2. <action name="listAction" class="EmpAction" method="getAllPages">
    3. <result name="success" type="json">
    4. <param name="root">map</param>
    5. </result>
    6. </action>

springmvc

page,rows分页请求参数,rows和total结果参数

@RequestMapping(value = "/getSalaryList.rst", method = {RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public Object getSalaryList (int page,int rows,@RequestParam(value="key",required=false) String key){
ICoreRequestContext ctx = CoreRequestContextUtil.getCoreRequestContext();
SSOUser ssoUser = ctx.getCurrentUser();
if (ssoUser.isAnonymous()) {
//return new Result(ResultCode.ERROR.getCode(),"用户未登录");
return alertError("用户未登录!");
}
HiberSession dbSession = null;
/* LostPropPermissionChecker.checkPermission(this.getAccessContext());*/
try {
dbSession = (HiberSession) CoreplusEnv.getDBSessionFactory().getDBSession();
dbSession.beginTransaction();
Map<String, Object> params = new HashMap<String, Object>();//参数集合
if(!StringUtil.isEmpty(key)){
params.put("key", "%"+key+"%");
}
params.put("begin", page-1);
params.put("length", rows);
LightAppDBUtil _dbUtil = LightAppDBUtil.getInstance();
Query query = _dbUtil.parserNamedQuery(dbSession, "getSalaryList", params);
//转译成需要的类Salary
ResultTransformer rt = Transformers.aliasToBean(Salary.class);
List<Salary> salaryList = query.setResultTransformer(rt).list();
JSONObject result= new JSONObject();
if (salaryList == null || salaryList.isEmpty()) {
result.put("total", 0);
result.put("rows", salaryList);
return result;
}
int total=inquiryTotal();
// jo.put("errMsg", "");
result.put("rows", salaryList);
result.put("total", total);
// return new DataGridVO(total,salaryList);
return result;
} catch (Exception e) {
_log.error("查询工资列表失败!", e);
dbSession.rollback();
return alertError("查询工资列表异常");
} finally {
closeSession(dbSession);
}

}

04-17 07:36
查看更多