一个JSP分页组件

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="[首页]&nbsp;";
    visitPreviousURL="[上一页]&nbsp;";
   }else{
    visitFirstPageURL="<a href='"+visitPageURL+"1'>[首页]</a>&nbsp; ";
    visitPreviousURL="<A href='"+visitPageURL+(pageNumber-1)+"'>[上一页]</A>&nbsp;";
   }
   if(pageNumber==sumPageNumber){
    visitNextPageURL="[下一页]&nbsp;";
    visitEndURL="[尾页]&nbsp;";
   }else{
    visitNextPageURL="<a href='"+visitPageURL+(pageNumber+1)+"'>[下一页]</a>&nbsp;";
    visitEndURL="<a href='"+visitPageURL+sumPageNumber+"'>[尾页]</a>";
   }

   StringBuffer sb = new StringBuffer();
   sb.append("<table width="+tableWidth);
   sb.append("><tr><td    align=right>");
   sb.append("当前是第["+pageNumber+"]页&nbsp;");
   sb.append("共["+sumPageNumber+"]页&nbsp;"+"共["+sumItemNumber+"]条&nbsp;");
   sb.append(visitFirstPageURL);
   sb.append(visitPreviousURL);
   sb.append(visitNextPageURL);
   sb.append(visitEndURL);
   sb.append("</td>&nbsp;</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);
       }

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值