简单实用,拿到这里和大家一起分享.
package page;import java.util.List;import java.util.Vector;
public class Pagination {
private int sumPageNumber; private int sumItemNumber; private int pageNumber; private int showItemNumber; private String visitPageURL; private String pageHTML; public List interceptListByStarItemNumber(List itemList) { int startItem = (pageNumber-1)*showItemNumber; List tpItemList = new Vector(); if (itemList == null) { return null; } sumItemNumber=itemList.size(); if(sumItemNumber%showItemNumber==0){ sumPageNumber =sumItemNumber/showItemNumber; }else{ sumPageNumber =sumItemNumber/showItemNumber+1; } for (int i = 0; i < itemList.size(); i++) { // 不要超过截取的最大条数, if ((i) == (startItem + showItemNumber)) { break; } // 当循环到开始条数的时候,将对象添加到新的列表里面。 if ((i) >= startItem) { tpItemList.add(itemList.get(i)); } }
return tpItemList; }
public String buildHTML(String tWidth) { String tableWidth=tWidth; String visitFirstPageURL=""; String visitNextPageURL=""; String visitPreviousURL=""; String visitEndURL=""; visitPageURL=visitPageURL+"?showItemNumber="+showItemNumber+"&pageNumber="; if(pageNumber==1){ visitFirstPageURL="[首页] "; visitPreviousURL="[上一页] "; }else{ visitFirstPageURL="<a href='"+visitPageURL+"1'>[首页]</a> "; visitPreviousURL="<A href='"+visitPageURL+(pageNumber-1)+"'>[上一页]</A> "; } if(pageNumber==sumPageNumber){ visitNextPageURL="[下一页] "; visitEndURL="[尾页] "; }else{ visitNextPageURL="<a href='"+visitPageURL+(pageNumber+1)+"'>[下一页]</a> "; visitEndURL="<a href='"+visitPageURL+sumPageNumber+"'>[尾页]</a>"; }
StringBuffer sb = new StringBuffer(); sb.append("<table width="+tableWidth); sb.append("><tr><td align=right>"); sb.append("当前是第["+pageNumber+"]页 "); sb.append("共["+sumPageNumber+"]页 "+"共["+sumItemNumber+"]条 "); sb.append(visitFirstPageURL); sb.append(visitPreviousURL); sb.append(visitNextPageURL); sb.append(visitEndURL); sb.append("</td> </tr></table>"); return sb.toString(); }
public int getPageNumber() { return pageNumber; }
public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; }
public int getShowItemNumber() { return showItemNumber; }
public void setShowItemNumber(int showItemNumber) { this.showItemNumber = showItemNumber; }
public int getSumItemNumber() { return sumItemNumber; }
public int getSumPageNumber() { return sumPageNumber; }
public String getVisitPageURL() { return visitPageURL; }
public void setVisitPageURL(String visitPageURL) { this.visitPageURL = visitPageURL; }
public String getPageHTML() { return pageHTML; }}
JSP页面调用:
<%@ page import="page.*"%><%@ page import="java.util.*"%>
<%@ page contentType="text/html; charset=GBK" %>
jsp分页组件:<% Vector list=new Vector(); for(int i=0;i<100;i++) list.add(i+" "); Pagination pagination = null; String pageNumber = request.getParameter("pageNumber"); int showItemNumber = 5; if (pageNumber == null) { pageNumber = "1"; } String HTML = ""; if (list != null && list.size() > 0) { pagination = new Pagination(); pagination.setPageNumber(Integer.parseInt(pageNumber)); pagination.setShowItemNumber(showItemNumber); pagination.setVisitPageURL("Allshetuan.jsp"); list =(Vector) pagination.interceptListByStarItemNumber(list); for(int i=0;i<list.size();i++) { out.print("<br>"+list.get(i)); } HTML = pagination.buildHTML("600"); out.print(HTML); }
%>
