| Gzu521.com我的学习网 |
|
说到分页算法,一般web开发都会用到,我只是在我的实现技术上用了Struts框架,其实原理都一样的。 看了网上相当多的分页算法,有对的也有好多是错的,更有好多是不太优化的。还有以前自己在augmentum做的一个分页算法,总结了一些不足。决定重新再写一个分页算法。 首先,应该写个bean来记录存储一些页面的属性 分页大致需要如下属性: private int currentpage = 1; // 当前页 private int totalpages = 0; // 总页数 private int pagerecorders = 5;// 每页5条数据 private int totalrows = 0; // 总数据数 private int pagestartrow = 0;// 每页的起始数 private int pageendrow = 0; // 每页显示数据的终止数 private boolean hasnextpage = false; // 是否有下一页 private boolean haspreviouspage = false; // 是否有前一页 private int nextpage = 0;//下一页的页码 private int previouspage = 0;//上一页的页码 然后这些属性之间是有联系的,我们可以在构造函数的时候就初始化一些属性 有两种方法: 一,根据总的页数,(假设当前页为1) public pagebean(int totalrows){ this.totalrows = totalrows; this.currentpage = 1; haspreviouspage = false; if ((totalrows % pagerecorders) == 0) { totalpages = totalrows / pagerecorders; } else { totalpages = totalrows / pagerecorders + 1; } if (totalrows >= pagerecorders) { hasnextpage = true; nextpage = 2; this.pageendrow = pagerecorders; } else { this.pageendrow = totalrows; hasnextpage = false; nextpage = 1; } this.pagestartrow = 0; previouspage = 1; } |
责任编辑:gzu521