java实现分页组件
2018-02-01 14:46
435 查看
package com.face.common; import lombok.Getter; import lombok.Setter; import java.util.ArrayList; import java.util.List; @Getter @Setter public class Page<T> { private int pageIndex; private int pageSize; private int totalItemCount; private int totalPageCount; private List<T> data; /** * * @param pageIndex // 当前第多少页 * @param pageSize // 每页大小 * @param totalItemCount // 总数 * @param data // 数据载体 * @param hasPaged // 是否已经分页 */ public Page(int pageIndex, int pageSize, int totalItemCount, List<T> data, boolean hasPaged) { this.pageIndex = pageIndex; this.pageSize = pageSize; this.totalItemCount = totalItemCount; initPage(pageIndex, pageSize, totalItemCount, data, hasPaged); } private void initPage(int pageIndex, int pageSize, int totalItemCount, List<T> data, boolean hasPaged) { // 计算总页数 if (totalItemCount > 0 && pageSize > 0) { this.totalPageCount = totalItemCount/pageSize + 1; } // 截取当前页数据 if (null == data) { this.data = new ArrayList<T>(); } else if (data.isEmpty() || hasPaged) { this.data = data; } else { if (pageIndex == this.totalPageCount) { // 最后一页 this.data = data.subList((pageIndex-1)*pageSize, data.size()); } else if (pageIndex < this.totalPageCount) { // 不是最后一页 this.data = data.subList((pageIndex-1)*pageSize, pageIndex*pageSize); } else { // 当前页超出总页数 throw new IndexOutOfBoundsException("当前页数超出总页数范围"); } } } }
相关文章推荐
- Java Web中常用的分页组件(Java端实现)
- 电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java
- Java Web中常用的分页组件(Java端实现)
- 电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java
- 电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java
- 电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java
- JavaBean+Jsp 实现页面分页
- JSP+JavaBean+Servlet实现分页
- java分页 jsp 结合实现
- Java右键菜单实现文本组件内容的的复制、粘贴、剪切功能
- JSP实现的Java通用简单分页算法之三
- java分页代码实现2
- JSP分页实现(Javabean+JSP)
- Java:一个简捷的可分页的ResultSet实现
- 利用COM组件对于B/S中分页的实现
- JAVA学习提高之---- FileUpload组件实现多文件上传(JSP+SERVLET)实现
- 又一种JSP实现的Java通用简单分页算法
- java 实现分页的一种方式
- DWR(AJAX的一种Java实现)做的分页!!
- 利用颠倒TOP分页算法实现分页功能的思考(java 代码实现)