您的位置:首页 > Web前端 > JavaScript

一个JSP分页组件

2013-09-10 10:09 309 查看
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);

       }

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp pagination 分页