博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java分页之页面分页
阅读量:7080 次
发布时间:2019-06-28

本文共 6697 字,大约阅读时间需要 22 分钟。

import java.util.ArrayList;import java.util.List;/** *  * @author cheney *  * @date Aug 31, 2012 */public class PageModel
{ private int page = 1; // 当前页 public int totalPages = 0; // 总页数 private int pageRecorders;// 每页5条数据 private int totalRows = 0; // 总数据数 private int pageStartRow = 0;// 每页的起始数 private int pageEndRow = 0; // 每页显示数据的终止数 private boolean hasNextPage = false; // 是否有下一页 private boolean hasPreviousPage = false; // 是否有前一页 private List
list; /** * * @param list * @param pageRecorders */ public PageModel(List
list, int pageRecorders) { init(list, pageRecorders);// 通过对象集,记录总数划分 } /** */ /** * 初始化list,并告之该list每页的记录数 * * @param list * @param pageRecorders */ public void init(List
list, int pageRecorders) { this.pageRecorders = pageRecorders; this.list = list; totalRows = list.size(); hasPreviousPage = false; if ((totalRows % pageRecorders) == 0) { totalPages = totalRows / pageRecorders; } else { totalPages = totalRows / pageRecorders + 1; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } if (totalRows < pageRecorders) { this.pageStartRow = 0; this.pageEndRow = totalRows; } else { this.pageStartRow = 0; this.pageEndRow = pageRecorders; } } public String displayForPage(String method) { StringBuffer sb = new StringBuffer(); sb.append("
"); return sb.toString(); } public String displayForPage() { StringBuffer sb = new StringBuffer(); sb.append("
"); return sb.toString(); } // 判断要不要分页 public boolean isNext() { return list.size() > 5; } public void setHasPreviousPage(boolean hasPreviousPage) { this.hasPreviousPage = hasPreviousPage; } /** * * @return */ public List
getNextPage() { page = page + 1; disposePage(); return getObjects(page); } /** * 处理分页 */ private void disposePage() { if (page == 0) { page = 1; } if ((page - 1) > 0) { hasPreviousPage = true; } else { hasPreviousPage = false; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } } /** * 上一页 * * @return */ public List
getPreviousPage() { page = page - 1; if ((page - 1) > 0) { hasPreviousPage = true; } else { hasPreviousPage = false; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } return getObjects(page); } /** * 获取第几页的内容 * * @param page * @return */ public List
getObjects(int page) { if (page == 0) { this.setPage(1); page = 1; } else { this.setPage(page); } this.disposePage(); if (page * pageRecorders < totalRows) { // 判断是否为最后一页 pageEndRow = page * pageRecorders; pageStartRow = pageEndRow - pageRecorders; } else { pageEndRow = totalRows; pageStartRow = pageRecorders * (totalPages - 1); } List
objects = null; if (!list.isEmpty()) { objects = list.subList(pageStartRow, pageEndRow); } return objects; } /** * 第一页 * * @return */ public List
getFistPage() { if (this.isNext()) { return list.subList(0, pageRecorders); } else { return list; } } /** * @return the page */ public int getPage() { return page; } /** * @param page * the page to set */ public void setPage(int page) { this.page = page; } /** * @return the totalPages */ public int getTotalPages() { return totalPages; } /** * @param totalPages * the totalPages to set */ public void setTotalPages(int totalPages) { this.totalPages = totalPages; } /** * @return the pageRecorders */ public int getPageRecorders() { return pageRecorders; } /** * @param pageRecorders * the pageRecorders to set */ public void setPageRecorders(int pageRecorders) { this.pageRecorders = pageRecorders; } /** * @return the totalRows */ public int getTotalRows() { return totalRows; } /** * @param totalRows * the totalRows to set */ public void setTotalRows(int totalRows) { this.totalRows = totalRows; } /** * @return the pageStartRow */ public int getPageStartRow() { return pageStartRow; } /** * @param pageStartRow * the pageStartRow to set */ public void setPageStartRow(int pageStartRow) { this.pageStartRow = pageStartRow; } /** * @return the pageEndRow */ public int getPageEndRow() { return pageEndRow; } /** * @param pageEndRow * the pageEndRow to set */ public void setPageEndRow(int pageEndRow) { this.pageEndRow = pageEndRow; } /** * @return the hasNextPage */ public boolean isHasNextPage() { return hasNextPage; } /** * @param hasNextPage * the hasNextPage to set */ public void setHasNextPage(boolean hasNextPage) { this.hasNextPage = hasNextPage; } /** * @return the list */ public List
getList() { return list; } /** * @param list * the list to set */ public void setList(List
list) { this.list = list; } /** * @return the hasPreviousPage */ public boolean isHasPreviousPage() { return hasPreviousPage; } /* * * @param args */ public static void main(String[] args) { List
list = new ArrayList
(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); list.add("f"); list.add("g"); list.add("h"); list.add("h"); list.add("i"); list.add("j"); System.out.println(list.size()); PageModel
pm = new PageModel
(list, 3);// 每页显示条数 pm.getObjects(1); System.out.println(pm.displayForPage("disResult")); }}

 

转载于:https://www.cnblogs.com/xtdxs/p/6575884.html

你可能感兴趣的文章
php幂等性,通过Ansible安装PHP Pear包,具有幂等性
查看>>
php实现决策树模型,通俗地说决策树算法(二)实例解析
查看>>
fck.php,将FCKeditor导入PHP+SMARTY的实现方法
查看>>
php isnotset,如何解决微信小程序报错:this.setData is not a function的问题
查看>>
linux命令grep搜索倒序输出,Linux下的搜索命令grep(转)
查看>>
lora 网关 linux,什么是LoRa网关 如何选择一个好的LoRaWAN网关
查看>>
android工程换背景图片,Android ImageView图片显示点击背景切换
查看>>
html中加入js有什么用,css和js后加问号和数字有什么用?
查看>>
html dom的nodetype值介绍,HTML DOM nodeType用法及代码示例
查看>>
html怎么对多个td应用样式,html – 如何将样式类应用于td类?
查看>>
Proxmox集群ceph报“ceph 1pg inconsistent”错误解决备忘
查看>>
多级菜单系统安装维护shell脚本实现企业级案例
查看>>
那些年,我玩过的操作系统
查看>>
Lync Server 2013标准版升级Skype for Business Server 2015实战(上)
查看>>
新浪、万网前系统架构师高俊峰:统一监控报警平台架构设计思路
查看>>
2011-9-25俱乐部活动
查看>>
JMeter正则表达式提取器
查看>>
Nginx
查看>>
How To Enable‘root’Account Login Solaris 11 Directly
查看>>
利用 http协议代替ftp协议进行数据传输
查看>>