5、实现通用分页功能一(创建分页实体)
来源:互联网 发布:2017年淘宝双十一报名 编辑:程序博客网 时间:2024/05/16 03:04
一、需求
页码显示的格式类型于下图所示
显示的主要内容有:
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;}}
- 5、实现通用分页功能一(创建分页实体)
- 6、实现通用分页功能二(实现通用分页查询的业务方法)
- 7、实现通用分页功能三(实现通用分页JSP代码)
- js实现数据加载分页功能的实现(通用)
- 通用Web分页功能一例
- 创建一个ASP通用分页类(一)
- gridview 通用分页实现
- 实现分页功能(三层)
- 用ajax实现分页 删除功能(一)
- struts+spring+hibernate下通用分页功能的实现
- ListView分页功能(2) 自定义View实现分页功能
- hibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页
- 分页功能(一)
- Java通用分页【完整版】(一)
- jsp分页实现(一)
- 实现分页打印功能:
- php 实现分页功能
- 分页功能的实现
- MonoDroid学习笔记(一)—— 搭建MonoDroid开发环境及Hello World
- 打造你成为交际大师11
- 打造你成为交际大师12
- ”A valid provisioning profile for this executable was not found“解决方案
- 关于iis部署的一些小问题
- 5、实现通用分页功能一(创建分页实体)
- ios 7 beta sdk版高速下载地址
- vc中调用Com组件的方法详解
- 【Windows 7减肥 清理和关闭多余的系统服务】
- 测试机器的硬件信息
- QT窗体间传值之全局变量
- MonoDroid学习笔记(二)—— 让你的App在你的手机上跑起来
- DataGridView标题的设置
- Hadoop之InputFormat接口的设计与实现