web分页技术
2016-06-08 18:03
330 查看
page.java
在页面中使用Page类来装载所要显示的用户
package com.kiddie.collection; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Page<T> { private List<T> list;// 装载数据的集合 private int total;// 总记录数 private int totalpage;// 总页数 private int pagesize;// 每页显示的记录 private int start;// 从第X条记录开始 private int curpage;// 当前页面 private int startpage;// 开始页面 private int endpage;// 结束页面,用来判断还有没有下一页 private int prepage;// 上一页 private int nextpage;// 下一页 public void setPagesize(int pagesize) { this.pagesize = pagesize;// 设置每页显示的记录数 if (this.pagesize <= 0)// 这可能出现0页或者负数的每页记录数 this.pagesize = 10;// 默认为10 setTotalPage(); // 改变了每页显示条数,开始的页面就要重新设置 if ((this.start % this.pagesize) == 0) { this.curpage = this.start / this.pagesize;// 设置当前的页面 } else { this.curpage = (this.start / this.pagesize) + 1;// 不够显示记录数也要多加一页 } this.startpage = 1;// 设置起始页面 this.endpage = totalpage;// 设置结束页面 checkStartAndCurPage(); setPreAndNextPage(); } // 下一页 public int nextPage() { if (curpage >= totalpage) {// 没有下一页 this.curpage = totalpage; } else {// 有下一页 this.curpage = this.curpage + 1; } this.start = this.curpage * pagesize;// 开始的记录数 // 设置上一页,下一页 setPreAndNextPage(); checkStartAndCurPage(); return this.curpage; } // 上一页 public int prePage() { if (curpage == 1) {// 没有上一页 this.curpage = 1; } else { this.curpage = this.curpage - 1; } this.start = this.curpage * pagesize; // 设置上一页,下一页 checkStartAndCurPage(); setPreAndNextPage(); return this.curpage; } // 初始化要传入总记录数和当前页面 public Page(int total, int curpage) { this.total = total;// 总记录数 this.curpage = curpage;// 当前页面 this.pagesize = 10;// 没有传入值,就默认每页显示10条 this.start = (this.curpage - 1) * this.pagesize;// 数据库0条记录开始,所有页数-1 this.startpage = 1;// 开始页面 setTotalPage(); this.endpage = totalpage; checkStartAndCurPage(); setPreAndNextPage(); list = new ArrayList<T>(); } // 初始化要传入总记录数和当前页面,页面记录数 public Page(int total, int curpage, int pagesize) { this.total = total; this.curpage = curpage; this.pagesize = pagesize; if (this.pagesize <= 0) this.pagesize = 10; this.start = (this.curpage - 1) * this.pagesize; this.startpage = 1; setTotalPage(); this.endpage = totalpage; checkStartAndCurPage(); setPreAndNextPage(); list = new ArrayList<T>(); } // 检查开始记录位置和当前页码是否超出了界限 private void checkStartAndCurPage() { if (this.curpage > this.totalpage) { this.curpage = this.totalpage; } this.start = (this.curpage - 1) * this.pagesize; if (this.start < 0)//记录总量有可能是0 this.start = 0; } private void setTotalPage() { if ((this.total % this.pagesize) == 0) { this.totalpage = this.total / this.pagesize;// 每页显示记录数变了,总页数也跟着变 } else { this.totalpage = (this.total / this.pagesize) + 1;// 不够显示记录数也要多加一页 } } private void setPreAndNextPage() { // 设置上一页,下一页 if (this.curpage <= 1 && totalpage > 1) {// 总页数>1的情况 this.prepage = 1; this.nextpage = this.curpage + 1; } else if (this.curpage <= 1 && totalpage <= 1) {// 总页数<=1的情况 this.prepage = 1; this.nextpage = 1; } else if (this.curpage >= this.totalpage) {// 当前页数为总页数 this.prepage = this.curpage - 1; this.nextpage = this.curpage; } else {// 普通情况 this.prepage = this.curpage - 1; this.nextpage = this.curpage + 1; } } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getTotal() { return total; } public int getTotalpage() { return totalpage; } public int getPagesize() { return pagesize; } public int getStart() { return start; } public int getCurpage() { return curpage; } public int getStartpage() { return startpage; } public int getEndpage() { return endpage; } public int getPrepage() { return prepage; } public int getNextpage() { return nextpage; } @Override public String toString() { return "Page [list=" + list + ", total=" + total + ", totalpage=" + totalpage + ", pagesize=" + pagesize + ", start=" + start + ", curpage=" + curpage + ", startpage=" + startpage + ", endpage=" + endpage + ", prepage=" + prepage + ", nextpage=" + nextpage + "]"; } public static void main(String[] args) { Random random = new Random(); for(int i =0;i<=20;i++) { int total = random.nextInt(1000); int cur = random.nextInt(15); int size = random.nextInt(100); System.out.println(new Page<Object>(total, cur, size)+"\n"); } } }
在页面中使用Page类来装载所要显示的用户
相关文章推荐
- ListView中几个需要注意的属性
- 【Unity】判断物体是否会被渲染
- 管理活动目录数据库
- Android中picasso-强大的Android图片下载缓存库
- Skia深入分析4——skia路径绘制的实现
- 基于ThinkPHP日历
- 构建之法阅读笔记06
- 拖拽对象
- javascript浅谈数组的声明
- VirtualBox网络配置
- linux下添加crontab定时任务,php脚本
- SOA服务化 目录
- Sublime Text 3 + cscope (windows)
- Android多种进度条使用详解
- WebService之HelloWorld(服务器端)
- 百问百答之Java多线程篇
- 清除输入框
- 出现( linker command failed with exit code 1)错误总结
- Android中圆形头像的控件
- Android 底层驱动开发(一)