一个JSP分页组件

    技术2022-05-11  74

    简单实用,拿到这里和大家一起分享.

    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);      }

    %>

     

    最新回复(0)