博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目中分页相关的一些内容
阅读量:4947 次
发布时间:2019-06-11

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

直接把代码贴出来以后方便看。

page = new Page
((pageNum-1)*pageSize,pageSize,list);

调用 传入参数:pageNum  pageSize  list

/** * 分页对象. 包含当前页数据及分页信息如总记录数. * */public class Page
implements Serializable { /** * */ private static final long serialVersionUID = 7066551090434228986L; private static int DEFAULT_PAGE_SIZE = 10; private int pageSize = DEFAULT_PAGE_SIZE; // 每页的记录数 private long start = 0L; // 当前页第一条数据在List中的位置,从0开始 private List
result; // 当前页中存放的记录,类型一般为List private long totalCount; // 总记录数 private String innerHtml; //分页 /** * 构造方法,只构造空页. */ public Page() { this(0, 0, DEFAULT_PAGE_SIZE, new ArrayList
()); } /** * 默认构造方法. * * @param start 本页数据在数据库中的起始位置 * @param totalSize 数据库中总记录条数 * @param pageSize 本页容量 * @param result 本页包含的数据 */ public Page(long start, long totalSize, int pageSize, List
result) { this.pageSize = pageSize; this.start = start; this.totalCount = totalSize; this.result = result; this.toHtmlString(); } /** * 构造方法 * @param start 本页数据在数据库中的起始位置 * @param pageSize 本页容量 * @param total 所有数据 */ public Page(long start, int pageSize, List
total) { this.pageSize = pageSize; this.start = start; this.totalCount = total.size(); this.result = new ArrayList
(); for(int i=(int)start; i
getResult() { return result; } /** * 设置记录. */ public void setResult(List
result) { this.result = result; } /** * 取该页当前页码,页码从1开始. */ public long getCurrentPageNo() { if(pageSize == 0) return 0; return start / pageSize + 1; } /** * 该页是否有下一页. */ public boolean hasNextPage() { return this.getCurrentPageNo() < this.getTotalPageCount() ; } /** * 该页是否有上一页. */ public boolean hasPreviousPage() { return this.getCurrentPageNo() > 1; } /** * 获取任一页第一条数据在数据集的位置. * * @see #getStartOfPage(int,int) */ public long getStartOfPage(int pageNo) { return getStartOfPage(pageNo, this.pageSize); } /** * 获取任一页第一条数据在数据集的位置. * * @param pageNo 从1开始的页号 * @param pageSize 每页记录条数 * @return 该页第一条数据 */ public static long getStartOfPage(int pageNo, int pageSize) { return (pageNo - 1) * pageSize; } public void toHtmlString(){ if (this.getTotalPageCount() < 2) { this.innerHtml = ""; }else{ StringBuffer htmlStr = new StringBuffer(1024); htmlStr.append(" 共").append(this.getTotalCount()); htmlStr.append("条记录,每页").append(this.pageSize); htmlStr.append("条,共").append(this.getTotalPageCount()); htmlStr.append("页,当前第").append(getCurrentPageNo()).append("页 "); htmlStr.append("
1){ htmlStr.append("herf='#' οnclick='javascript:getPage(1);'"); } htmlStr.append(">首页 "); htmlStr.append("
上一页 "); htmlStr.append("
下一页 "); htmlStr.append("
尾页 "); this.innerHtml = htmlStr.toString(); htmlStr = null; } } public String getInnerHtml() { return innerHtml; } public void setInnerHtml(String innerHtml) { this.innerHtml = innerHtml; }最重要的是只需要new 一个page 这样把list传过去。 把pagesize ,pagenum传过去然后就可以直接得到分页结果了 page = new Page
((pageNum-1)*pageSize,pageSize,list); page.innerHTML  共64条记录,每页10条,共7页,当前第1页 
首页 
上一页 
下一页 
尾页 

 

转载于:https://www.cnblogs.com/wupeng88/p/4503573.html

你可能感兴趣的文章
Linux:Ubuntu 14.04 Server 离线安装Jjava8(及在线安装)
查看>>
KMP算法介绍总结
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
代理模式
查看>>
MySQL数据类型
查看>>
处理date类型对象的方式
查看>>
创建数据库的注意事项
查看>>
开源DataGridView扩展(2) 自定义的Button列
查看>>
Codeforces Round #100 E. New Year Garland (第二类斯特林数+dp)
查看>>
laravel PC内部方法调用
查看>>
Activity 工作流配置
查看>>
java学习笔记-JavaWeb篇三
查看>>
类型重命名 typedef
查看>>
leecode第七十二题(编辑距离)
查看>>
git 常用命令
查看>>
java休眠
查看>>
Android之SQLite
查看>>
kafka基本原理
查看>>
Silverlight实用窍门系列:16.以某点为圆心绘制多条线,线与线之间角度相同以组成圆【附带源码实例】...
查看>>
MFC 类库
查看>>