java 分页公用类

分享到:
package com.cn.ohd.face.payment.pageutil;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
public class PageNumber<E> {
private int totals;
private List<E> bigList;  //总记录集
private List<E> smallList; //当页显示的记录集
private int currentPage = 1;  //当前页
private int pages;  //总页数
private int recorderPage =10; //每页记录数
private int privious; //上一页
private int next; //下一页
private boolean firstPage;//第一页
private boolean lastPage; //最后一页
private String url;
public PageNumber(HttpServletRequest request, List bigList)
{
//根据大List获得总记录数和总页数
this.bigList = bigList;
totals = bigList.size();
if (totals % recorderPage == 0) {
pages = totals / recorderPage;
} else {
pages = totals / recorderPage + 1;
}
//从请求中获得要显示的页码
String page = request.getParameter("pageNo");
if(page!=null && !"".equals(page))
{
currentPage=Integer.parseInt(page);
}
//根据页码获得小List
if (currentPage == 1) {
firstPage = true;
} else {
firstPage = false;
}
if (currentPage == pages) {
lastPage = true;
} else {
lastPage = false;
}
privious = currentPage - 1;
next = currentPage + 1;
this.smallList = new ArrayList<E>();
for (int i = (currentPage - 1) * recorderPage; i < currentPage
* recorderPage
&& i < totals; i++) {
smallList.add((E) bigList.get(i));
}
//设置URL参数
Enumeration en = request.getParameterNames();
Map map = request.getParameterMap();
StringBuffer sb = new StringBuffer();
sb.append(request.getRequestURI());
int i=0;
while(en.hasMoreElements())
{
String paramName = (String)en.nextElement();
if(!paramName.equals("pageNo"))
{
if(i==0)
{
sb.append("?");
}else{
sb.append("&");
}
sb.append(paramName).append("=");
String[] value = (String[])map.get(paramName);
sb.append(value[0]);
i++;
}
}
this.url = sb.toString();
}
public String getUrl() {
return url;
}
public void setUrl(HttpServletRequest request) {
this.url = request.getRequestURI();
}
public boolean isFirstPage() {
return firstPage;
}
public void setFirstPage(boolean firstPage) {
this.firstPage = firstPage;
}
public boolean isLastPage() {
return lastPage;
}
public void setLastPage(boolean lastPage) {
this.lastPage = lastPage;
}
public int getNext() {
return next;
}
public void setNext(int next) {
this.next = next;
}
public int getPrivious() {
return privious;
}
public void setPrivious(int privious) {
this.privious = privious;
}
public List<E> getBigList() {
return bigList;
}
public void setBigList(List<E> bigList) {
this.bigList = bigList;
totals = bigList.size();
if (totals % recorderPage == 0) {
pages = totals / recorderPage;
} else {
pages = totals / recorderPage + 1;
}
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int a) {
this.currentPage = a;
if (currentPage == 1) {
firstPage = true;
} else {
firstPage = false;
}
if (currentPage == pages) {
lastPage = true;
} else {
lastPage = false;
}
privious = a - 1;
next = a + 1;
this.smallList = new ArrayList<E>();
for (int i = (currentPage - 1) * recorderPage; i < currentPage
* recorderPage
&& i < totals; i++) {
smallList.add(bigList.get(i));
}
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
public List<E> getSmallList() {
return smallList;
}
public void setSmallList(List<E> smallList) {
this.smallList = smallList;
}
public int getTotals() {
return totals;
}
public void setTotals(int totals) {
this.totals = totals;
}
public int getRecorderPage() {
return recorderPage;
}
public void setRecorderPage(int recorderPage) {
this.recorderPage = recorderPage;
}
public void clearBigList()
{
this.bigList = null;
}
}
来自:http://www.cnblogs.com/leess/archive/2012/11/17/2774503.html
昵    称:
验证码:

相关文档: