---------------------------------------------------------------------------------------------------------------------------------- 下面的代码是放在jsp里面的 ----------------------------------------------------------------------------------------------------------------------------------
- package com.page;
- public class PageUtil {
- // 每页显示的条数
- private int pageSize;
- // 总共的条数
- private int recordCount;
- // 当前页面
- private int currentPage;
- public PageUtil(int pageSize, int recordCount, int currentPage) {
- this.pageSize = pageSize;
- this.recordCount = recordCount;
- setCurrentPage(currentPage);
- }
- // 构造方法
- public PageUtil(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;
- }
- }
-----------下面这个是放在有变量的上面-------------------------------------------------------------------------------------------
- <%
- PublishersDAO dao = PublishersDAO.getInstance();
- List records = dao.getModels();
- String pageStr = request.getParameter("page");
- int currentPage = 1;
- if (pageStr != null)
- currentPage = Integer.parseInt(pageStr);
- PageUtil pUtil = new PageUtil(10, records.size(), currentPage);
- currentPage = pUtil.getCurrentPage();
- %>
- <%
- for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
- PublisherModel model = (PublisherModel) records.get(i);
- %>
- 中间是删除修改之类的代码
- <%}%>
- <tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center">
- 记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%>
- /<%=pUtil.getPageCount()%>每页显示<%=pUtil.getPageSize()%>条
- <a href="publishers.jsp?page=1">首页</a>
- <a href="publishers.jsp?page=<%=(currentPage - 1)%>">上页</a>
- <a href="publishers.jsp?page=<%=(currentPage + 1)%>">下页</a>
- <a href="publishers.jsp?page=<%=pUtil.getPageCount()%>">末页</a>
- </td></tr>
来源: http://www.phpxs.com/code/1002140/