5、实现通用分页功能一(创建分页实体)
2013-06-13 16:26
363 查看
一、需求
页码显示的格式类型于下图所示
显示的主要内容有:
1、总记录数
2、总页数
3、当前页码
4、每页显示的记录数
5、页码列表的第一个页号,如上图右方中的3
6、页码列表的最后一个页号,上图中是12
7、当前页显示的记录的集合
页码列表的格式是左四右五,即以当前页码为中心,左边显示四个页码,右边显示五个页码,如上图中,当前页码是7,所以页码列表为3,4,5,6,7,8,9,10,11,12
二、分页实体
可以根据上面的需求分析,创建分页实体类
Page.java
页码显示的格式类型于下图所示
显示的主要内容有:
1、总记录数
2、总页数
3、当前页码
4、每页显示的记录数
5、页码列表的第一个页号,如上图右方中的3
6、页码列表的最后一个页号,上图中是12
7、当前页显示的记录的集合
页码列表的格式是左四右五,即以当前页码为中心,左边显示四个页码,右边显示五个页码,如上图中,当前页码是7,所以页码列表为3,4,5,6,7,8,9,10,11,12
二、分页实体
可以根据上面的需求分析,创建分页实体类
Page.java
package com.charlie.shop.domain.page; /** * 这是分页实体类 * @author charlie * */ import java.util.List; public class Page<T> { /**当前页码,默认是1**/ private int pageNow=1; /**每页显示的记录数**/ private int pageSize; /**当前页显示的记录列表**/ private List<T> recordList; /**总记录数**/ private int recordCount; /**页码列表的第一个页码**/ private int beginPage; /**页码列表的最后一个页码**/ private int endPage; /**总页数**/ private int pageCount; /** * 构造器限制为需要四个参数,是确保对象的这四个属性都有值 * @param pageNow 当前页码 * @param pageSize 每页显示的记录 * @param recordCount 总记录 * @param recordList 当前页待显示数据列表 */ public Page(int pageNow,int pageSize,int recordCount,List<T> recordList){ this.pageNow = pageNow; this.pageSize = pageSize; this.recordCount = recordCount; this.recordList = recordList; //====下面是计算其他三个属性的值======= /* * 计算总页数 两种方式 * 方式一:recordCount/pageSize 如果有余数则要加1,如果刚好整除则不用加1 * 方式二:(recordCount + pageSize - 1) / pageSize */ pageCount = (recordCount+pageSize-1)/pageSize; /*下面计算页码列表的开始索引和结束索引 * 默认是页码列表长度为10: 前面四页索引 +当前页码+后五页 * 如果总页数小于或等于10的话,就全部显示 * 总页数大于10的话: * 如果前面不够四页就后面补够 * 如果后面不够五页就前面补 */ //先判断总页数是否在10以内 if(pageCount<=10){ //不超过10页,全部显示即可 beginPage = 1; endPage = pageCount; }else if(pageNow-4<1){ //前面不够四页,后面补,即显示最前面10页 beginPage = 1; endPage = 10; }else if(pageNow+5>pageCount){ //后面不够五页 endPage = pageCount; beginPage = endPage-9; }else { //前四后五都满足 beginPage = pageNow-4; endPage = pageNow+5; } } //------下面是getter/setter方法 public int getPageNow() { return pageNow; } public void setPageNow(int pageNow) { this.pageNow = pageNow; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public List<T> getRecordList() { return recordList; } public void setRecordList(List<T> recordList) { this.recordList = recordList; } public int getRecordCount() { return recordCount; } public void setRecordCount(int recordCount) { this.recordCount = recordCount; } public int getBeginPage() { return beginPage; } public void setBeginPage(int beginPage) { this.beginPage = beginPage; } public int getEndPage() { return endPage; } public void setEndPage(int endPage) { this.endPage = endPage; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } }
相关文章推荐
- 【struts2+hibernate+spring项目实战】分页功能的完整的实现(通用分页、基类实现)
- js实现数据加载分页功能的实现(通用)
- 浅谈SQL Server所实现创建分页功能的存储过程的分析及代码
- 用Session和唯一索引字段实现通用Web分页功能
- struts+spring+hibernate下通用分页功能的实现
- 使用Ext的Grid,Form,Dialog来实现分页列表,创建,修改,删除功能
- 6、实现通用分页功能二(实现通用分页查询的业务方法)
- JavaWeb中MySQL和Oracle数据库通用分页功能实现完整例子
- 用Session和唯一索引字段实现通用Web分页功能
- 7、实现通用分页功能三(实现通用分页JSP代码)
- 用Java实现异构数据库的高效通用分页查询功能
- 用Session和唯一索引字段实现通用Web分页功能
- 用Java实现异构数据库的高效通用分页查询功能
- 使用Ext中的Grid,Form,Dialog来实现列表,创建,更新,删除,查找和分页功能
- 用Session和唯一索引字段实现通用Web分页功能
- ssh项目实战----分页功能的完整的实现(通用分页、基类实现)
- Datagridview控件实现分页功能
- 推荐+1置顶+1(分享、讨论、实现)通用软件注册功能之建立有效的软件保护机制
- JSP中分页功能的实现
- ASP.NET长文章实现通用以及高效的分页方法