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">
记录总数<%=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>