以下封装了,只要传递给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 }