📄 pagesortmodel.java
字号:
/* $RCSfile: PageSortModel.java,v $
* Created on 2006-9-23 by zouxuemo
* $Source: /LilyDAPCVS/myAppfuse/src/web/com/lily/dap/webapp/extremecomponents/PageSortModel.java,v $
* $Id: PageSortModel.java,v 1.1 2006/11/25 02:30:28 zxm Exp $
* Copyright (c) 2005 Jiffle Ltd. All rights reserved.
*/
package com.lily.dap.webapp.extremecomponents;
import java.io.Serializable;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.extremecomponents.table.context.Context;
import org.extremecomponents.table.context.HttpServletRequestContext;
import org.extremecomponents.table.core.TableConstants;
import org.extremecomponents.table.filter.ExportFilterUtils;
import org.extremecomponents.table.limit.Limit;
import org.extremecomponents.table.limit.LimitFactory;
import org.extremecomponents.table.limit.Sort;
import org.extremecomponents.table.limit.TableLimit;
import org.extremecomponents.table.limit.TableLimitFactory;
import org.springframework.web.util.WebUtils;
/**
* 读取EC组件的参数设置,并计算需要显示的页和记录数
*
* @author zouxuemo
* @version $Revision: 1.1 $
*/
public class PageSortModel implements Serializable{
/** Comment for <code>serialVersionUID</code> */
private static final long serialVersionUID = -3685053210866076621L;
private int pageSize = 20; //页面大小
private int pageNo = 1; //页号
private transient int totalRows = 0; //总记录数
private transient int pageCount = 0; //总页数
private boolean all = false;
private Map orderMap = null;
private Limit limit;
private HttpServletRequest request;
public PageSortModel(HttpServletRequest request, String tableId){
this.request=request;
if(tableId == null) tableId="ec";
Context context = new HttpServletRequestContext(request);
LimitFactory limitFactory = new TableLimitFactory(context, tableId);
limit = new TableLimit(limitFactory);
this.pageNo = limit.getPage();
String rcdStr = context.getParameter(tableId + "_" + TableConstants.CURRENT_ROWS_DISPLAYED);
if(StringUtils.isNotBlank(rcdStr)){
this.pageSize=Integer.parseInt(rcdStr);
}
if(ExportFilterUtils.isExported(context)) {
all = true;
pageSize = 0;
}
orderMap = WebUtils.getParametersStartingWith(request, tableId + "_" + TableConstants.SORT);
}
public PageSortModel(int pageNo) {
this.pageNo = pageNo;
}
public Map getOrderMap() {
return orderMap;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/** @return Returns the sort.
*/
public Sort getSort() {
Sort sort = limit.getSort();
if (sort == null || sort.getProperty() == null)
return null;
else
return sort;
}
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
if(limit != null){
limit.setRowAttributes(totalRows, pageSize);
}
request.setAttribute("totalRows", new Integer(totalRows));
}
public int getRowStart() {
return (pageNo - 1) * pageSize;
}
public boolean isAll() {
return all;
}
public void setAll(boolean all) {
this.all = all;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -