初学分页的小练习

package com.cn.ToolsUtil;

 

public class DividePage {
 
     private int pageSize;//每页显示的条数
     private int recordCount;//总共的条数
     private int currentPage;//当前页面
     public DividePage(int pageSize, int recordCount, int currentPage){
             this.pageSize = pageSize;
             this.recordCount = recordCount;
             setCurrentPage(currentPage);
         }
          //构造方法
         public DividePage(int pageSize, int recordCount){
             this(pageSize, recordCount, 1);
         }
         //总页数
         public int getPageCount(){
             int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
             int mod = recordCount % pageSize;//最后一页的条数
             if(mod != 0)
                 size++;
             return recordCount == 0 ? 1 : size;
         }
         //包含,起始索引为0
         public int getFromIndex(){
             //System.out.println("from index:"+(currentPage-1) * pageSize);
             return (currentPage-1) * pageSize;
         }
         //不包含
         public int getToIndex(){
             //System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize));
             return  Math.min(recordCount, currentPage * pageSize);
         }
         //得到当前页
         public int getCurrentPage(){
             return currentPage;
         }
         //设置当前页
         public void setCurrentPage(int currentPage){
             int validPage = currentPage <= 0 ? 1 : currentPage;
             validPage = validPage > getPageCount() ? getPageCount() : validPage;
             this.currentPage = validPage;
         }
         //得到每页显示的条数
         public int getPageSize(){
             return pageSize;
         }
         //设置每页显示的条数
         public void setPageSize(int pageSize){
             this.pageSize = pageSize;
         }
         //得到总共的条数
         public int getRecordCount(){
             return recordCount;
         }
         //设置总共的条数
         public void setRecordCount(int recordCount){
             this.recordCount = recordCount;
         }
 }

 

 

在 JSP 中接收

<%
String path = request.getContextPath();

List list = (List)request.getAttribute("list");
DividePage pUtil = (DividePage)request.getAttribute("pUtil");

int currentPage = new Integer(request.getAttribute("currentPage").toString()).intValue();

%>

//显示

     <td colspan="6" align="right">
       &nbsp; &nbsp; 记录总数<%=pUtil.getRecordCount()%>
       
       条 当前页/总页数
      
       <%=currentPage%>/<%=pUtil.getPageCount()%>
       
       每页显示
       <%=pUtil.getPageSize()%>
       条
       <a href="<%=path%>/jsp/showMettint/showMettint.jsp?page=1" style="text-decoration:none">首页</a>
       <a href="<%=path%>/jsp/showMettint/showMettint.jsp?page=<%=(currentPage - 1)%>" style="text-decoration:none">上页</a>
       <a href="<%=path%>/jsp/showMettint/showMettint.jsp?page=<%=(currentPage + 1)%>" style="text-decoration:none">下页</a>
       <a href="<%=path%>/jsp/showMettint/showMettint.jsp?page=<%=pUtil.getPageCount()%>" style="text-decoration:none">末页</a>

        </td>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值