分页
1 分页数据分析
页面需要什么数据:
- 当前页页码(currPageCode):Servlet提供;
- 共几页(totalPage):Servlet提供;
- 当前页数据(datas):Servlet提供;
Servlet需要什么数据:
- 当前页页码(currPageCode):页面提供,如果页面没有提供,那么默认为1;
- 总记录数(totalRecord):通过数据库来查询;
- 每页记录数(pagesize):系统数据;
- 共几页(totalPage):通过totalRecord和pagesize来计算;
- 当前页第一行记录位置(currPageBeginIndex):通过currPageCode和pagesize计算;
- 当前页数据(datas):通过currPageBginIndex和pagesize查询数据库;
2 PageBean
把分布数据封装成PageBean类对象
public class PageBean<T> { private List<T> datas;// 当前页记录数, 需要传递 private int totalRecord;// 总记录数, 需要传递 private int currPageCode;// 当前页码, 需要传递 private int pagesize;// 每页记录数, 需要传递 private int totalPage;// 总页数, 计算 private int currPageBeginIndex; //需要计算 public PageBean(int currPageCode, int totalRecord, int pagesize) { this.currPageCode = currPageCode; this.totalRecord = totalRecord; this.pagesize = pagesize;
init(); }
private void init() { this.totalPage = totalRecord / pagesize; if(totalRecord % pagesize != 0) { this.totalPage++; }[崔1] this.currPageBeginIndex = (this.currPageCode-1) * this.pagesize;[崔2] } ... } |
[崔1]计算总页数
[崔2]计算当前页第一行数据的下标