以下封装了,只要传递给servlet一个字段第几页,就可以实现10页为单位的分页效果了。

 

 

MySQL:select * from customer limit m,n;
m:每页开始的记录的索引号。(从0开始)
n:每页显示的条数

每页显示10条
第1页的数据:select * from customer limit 0,10;
第2页的数据:select * from customer limit 10,10;
第3页的数据:select * from customer limit 20,10;

每页开始记录的索引=(当前页码-1)*每页显示的条数


总共多少页=总条数%每页显示的条数==0?总条数/每页显示的条数:总条数/每页显示的条数+1;

domain的改造

增加分页类

  1 package cn.itcast.domain;
  2 
  3 import java.util.List;
  4 
  5 //界面上所有与分页有关的都找此类要
  6 public class Page {
  7     private List records;
  8     private int pagesize = 10;//每页显示的记录条数
  9     private int pagenum;//用户要看的页码即当前页码
 10     private int totalpage;//总页数
 11     private int startIndex;//每页开始记录的索引
 12     private int totalrecords;//总记录条数
 13     
 14     //显示的页码
 15     private int startPage;
 16     private int endPage;
 17     
 18     //查询数据时的Servlet的URL
 19     private String servletUrl;
 20     
 21     public Page(int pagenum,int totalrecords){
 22         this.pagenum = pagenum;
 23         this.totalrecords = totalrecords;
 24         
 25         //计算每页开始记录的索引
 26         startIndex = (pagenum-1)*pagesize;
 27         //计算总页数
 28         totalpage = totalrecords%pagesize==0?totalrecords/pagesize:(totalrecords/pagesize+1);
 29         
 30         //显示的页码
 31         if(totalpage<=9){
 32             startPage = 1;
 33             endPage = totalpage;
 34         }else{
 35             startPage = pagenum-4;
 36             endPage = pagenum+4;
 37             if(startPage<1){
 38                 startPage = 1;
 39                 endPage = 9;
 40             }
 41             if(endPage>totalpage){
 42                 endPage = totalpage;
 43                 startPage = totalpage-8;
 44             }
 45         }
 46     }
 47     
 48     
 49     public List getRecords() {
 50         return records;
 51     }
 52     public void setRecords(List records) {
 53         this.records = records;
 54     }
 55     public int getPagesize() {
 56         return pagesize;
 57     }
 58     public void setPagesize(int pagesize) {
 59         this.pagesize = pagesize;
 60     }
 61     public int getPagenum() {
 62         return pagenum;
 63     }
 64     public void setPagenum(int pagenum) {
 65         this.pagenum = pagenum;
 66     }
 67     public int getTotalpage() {
 68         return totalpage;
 69     }
 70     public void setTotalpage(int totalpage) {
 71         this.totalpage = totalpage;
 72     }
 73     public int getStartIndex() {
 74         return startIndex;
 75     }
 76     public void setStartIndex(int startIndex) {
 77         this.startIndex = startIndex;
 78     }
 79     public int getTotalrecords() {
 80         return totalrecords;
 81     }
 82     public void setTotalrecords(int totalrecords) {
 83         this.totalrecords = totalrecords;
 84     }
 85 
 86 
 87     public int getStartPage() {
 88         return startPage;
 89     }
 90 
 91 
 92     public void setStartPage(int startPage) {
 93         this.startPage = startPage;
 94     }
 95 
 96 
 97     public int getEndPage() {
 98         return endPage;
 99     }
100 
101 
102     public void setEndPage(int endPage) {
103         this.endPage = endPage;
104     }
105 
106 
107     public String getServletUrl() {
108         return servletUrl;
109     }
110 
111 
112     public void setServletUrl(String servletUrl) {
113         this.servletUrl = servletUrl;
114     }
115     
116 }
View Code

相关文章: