Package javacommon.util.extjs

Source Code of javacommon.util.extjs.ExtJsPageHelper

package javacommon.util.extjs;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.springframework.web.util.WebUtils;

import cn.org.rapid_framework.page.PageRequest;

public class ExtJsPageHelper {
  static int DEFAULT_PAGE_SIZE = 10;
 
  public static PageRequest<Map> createPageRequestForExtJs(HttpServletRequest request,String defaultOrderBy) {
    PageRequest<Map> result = new PageRequest(new HashMap());
    return bindPageRequestParameters(result, request, defaultOrderBy);
  }

  public static PageRequest<Map> bindPageRequestParameters(PageRequest<Map> pageRequest, HttpServletRequest request,String defaultOrderBy) {
    int start = getIntParameter(request,"start",0);
    int limit = getIntParameter(request, "limit", DEFAULT_PAGE_SIZE);
   
    String field_type = request.getParameter("field_type");
    String query = request.getParameter("query"); //SearchField.js 里设置此参数名
    String sort = request.getParameter("sort");// 指定排序的列
    String dir = request.getParameter("dir");// 顺序倒序
    String orderBy = defaultOrderBy; //默认正向排序列
    if (sort != null && dir != null){
      orderBy = sort + " " + dir;
    }
    //如果没有按照指定字段搜索,则按全条件查询
    if(field_type!=null){
      Map map = new HashMap();
      map.put(field_type, query);
      pageRequest.setFilters(map);
    }
   
    pageRequest.getFilters().putAll(WebUtils.getParametersStartingWith(request, "s_"));
   
    pageRequest.setPageNumber(start / limit + 1);
    pageRequest.setPageSize(limit);
    pageRequest.setSortColumns(orderBy);
    return pageRequest;
  }
 
  private static int getIntParameter(HttpServletRequest request,String name,int defaultValue) {
    String value = request.getParameter(name);
    if (StringUtils.isNotBlank(value)) {
      return Integer.valueOf(value);
    }
    return defaultValue;
  }
}
TOP

Related Classes of javacommon.util.extjs.ExtJsPageHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.