分页的封装

分页

 

1 分页数据分析

页面需要什么数据:

  1. 当前页页码(currPageCode):Servlet提供;
  2. 共几页(totalPage):Servlet提供;
  3. 当前页数据(datas):Servlet提供;

 

Servlet需要什么数据:

  1. 当前页页码(currPageCode):页面提供,如果页面没有提供,那么默认为1;
  2. 总记录数(totalRecord):通过数据库来查询;
  3. 每页记录数(pagesize):系统数据;
  4. 共几页(totalPage):通过totalRecord和pagesize来计算;
  5. 当前页第一行记录位置(currPageBeginIndex):通过currPageCode和pagesize计算;
  6. 当前页数据(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]计算当前页第一行数据的下标

猜你喜欢

转载自blog.csdn.net/weixin_42472048/article/details/82930964