简单的分页封装(一)
来源:互联网 发布:app软件色影 编辑:程序博客网 时间:2024/05/01 23:44
分页对象接口:
public interface Paginable {/** * 总记录数 * * @return */public int getTotalCount();/** * 总页数 * * @return */public int getTotalPage();/** * 每页记录数 * * @return */public int getPageSize();/** * 当前页号 * * @return */public int getPageNo();/** * 是否第一页 * * @return */public boolean isFirstPage();/** * 是否最后一页 * * @return */public boolean isLastPage();/** * 返回下页的页号 */public int getNextPage();/** * 返回上页的页号 */public int getPrePage();}
简单的分页对象:
public class SimplePage implements Serializable,Paginable{private static final long serialVersionUID = 1L;public static final int DEF_COUNT = 20;/** * 检查页码 checkPageNo * * @param pageNo * @return if pageNo==null or pageNo<1 then return 1 else return pageNo */public static int cpn(Integer pageNo) {return (pageNo == null || pageNo < 1) ? 1 : pageNo;}public SimplePage() {}/** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */public SimplePage(int pageNo, int pageSize, int totalCount) {setTotalCount(totalCount);setPageSize(pageSize);setPageNo(pageNo);adjustPageNo();}/** * 调整页码,使不超过最大页数 */public void adjustPageNo() {if (pageNo == 1) {return;}int tp = getTotalPage();if (pageNo > tp) {pageNo = tp;}}/** * 获得页码 */public int getPageNo() {return pageNo;}/** * 每页几条数据 */public int getPageSize() {return pageSize;}/** * 总共几条数据 */public int getTotalCount() {return totalCount;}/** * 总共几页 */public int getTotalPage() {int totalPage = totalCount / pageSize;if (totalPage == 0 || totalCount % pageSize != 0) {totalPage++;}return totalPage;}/** * 是否第一页 */public boolean isFirstPage() {return pageNo <= 1;}/** * 是否最后一页 */public boolean isLastPage() {return pageNo >= getTotalPage();}/** * 下一页页码 */public int getNextPage() {if (isLastPage()) {return pageNo;} else {return pageNo + 1;}}/** * 上一页页码 */public int getPrePage() {if (isFirstPage()) {return pageNo;} else {return pageNo - 1;}}protected int totalCount = 0;protected int pageSize = 20;protected int pageNo = 1;/** * if totalCount<0 then totalCount=0 * * @param totalCount */public void setTotalCount(int totalCount) {if (totalCount < 0) {this.totalCount = 0;} else {this.totalCount = totalCount;}}/** * if pageSize< 1 then pageSize=DEF_COUNT * * @param pageSize */public void setPageSize(int pageSize) {if (pageSize < 1) {this.pageSize = DEF_COUNT;} else {this.pageSize = pageSize;}}/** * if pageNo < 1 then pageNo=1 * * @param pageNo */public void setPageNo(int pageNo) {if (pageNo < 1) {this.pageNo = 1;} else {this.pageNo = pageNo;}}}
分页对象:
public class Pagination extends SimplePage{private static final long serialVersionUID = 1L;public Pagination() {}/** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 */public Pagination(int pageNo, int pageSize, int totalCount) {super(pageNo, pageSize, totalCount);}/** * 构造器 * * @param pageNo * 页码 * @param pageSize * 每页几条数据 * @param totalCount * 总共几条数据 * @param list * 分页内容 */public Pagination(int pageNo, int pageSize, int totalCount, List<?> list) {super(pageNo, pageSize, totalCount);this.list = list;}/** * 第一条数据位置 * * @return */public int getFirstResult() {return (pageNo - 1) * pageSize;}/** * 当前页的数据 */private List<?> list;/** * 当前页的分页样式 */private List<String> pageView;/** * 获得分页内容 * * @return */public List<?> getList() {return list;}/** * 设置分页内容 * * @param list */public void setList(@SuppressWarnings("rawtypes") List list) {this.list = list;}/** * 获得分页样式 * * @return */public List<String> getPageView() {return pageView;}/** * 设置分页样式 * * @param list */public void setPageView(List<String> pageView) {this.pageView = pageView;}/** * 分页显示样示部分 */public void pageView(String url,String params){ pageView = new ArrayList<String>(); if(this.pageNo != 1){ pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo=1'\"><font size=2>首页</font></a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo-1)+"'\"><font size=2>上一页</font></a>"); }else{ pageView.add("<font size=2>首页</font>"); pageView.add("<font size=2>上一页</font>"); } if(this.getTotalPage() <= 10){ for (int i = 0; i < this.getTotalPage(); i++) { if((i+1)==this.pageNo){ pageView.add("<strong>"+this.pageNo+"</strong>"); i = i+1; if(this.pageNo==this.getTotalPage())break; } pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(i+1)+"'\">"+(i+1)+"</a>"); } }else if(this.getTotalPage() <= 20){ //没有把...加上 int l = 0; int r = 0; if(this.pageNo<5){ l=this.pageNo-1; r=10-l-1; }else if(this.getTotalPage()-this.pageNo<5){ r=this.getTotalPage()-this.pageNo; l=10-1-r; }else{ l=4; r=5; } int tmp = this.pageNo-l; for (int i = tmp; i < tmp+10; i++) { if(i==this.pageNo){ pageView.add("<strong>"+this.pageNo+"</strong>"); i = i+1; if(this.pageNo==this.getTotalPage()) break; } pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(i)+"'\">"+(i)+"</a>"); } }else if(this.pageNo<7){ for (int i = 0; i < 8; i++) { if(i+1==this.pageNo){ pageView.add("<strong>"+this.pageNo+"</strong>"); i = i+1; } pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(i+1)+"'\">"+(i+1)+"</a>"); } pageView.add("..."); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.getTotalPage()-1)+"'\">"+(this.getTotalPage()-1)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.getTotalPage())+"'\">"+(this.getTotalPage())+"</a>"); }else if(this.pageNo>this.getTotalPage()-6){ pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(1)+"'\">"+(1)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(2)+"'\">"+(2)+"</a>"); pageView.add("..."); for (int i = this.getTotalPage()-8; i <this.getTotalPage() ; i++) { if(i+1==this.pageNo){ pageView.add("<strong>"+this.pageNo+"</strong>"); i = i+1; if(this.pageNo==this.getTotalPage()) break; } pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(i+1)+"'\">"+(i+1)+"</a>"); } }else{ pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(1)+"'\">"+(1)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(2)+"'\">"+(2)+"</a>"); pageView.add("..."); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo-2)+"'\">"+(this.pageNo-2)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo-1)+"'\">"+(this.pageNo-1)+"</a>"); pageView.add("<strong>"+this.pageNo+"</strong>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo+1)+"'\">"+(this.pageNo+1)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo+2)+"'\">"+(this.pageNo+2)+"</a>"); pageView.add("..."); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.getTotalPage()-1)+"'\">"+(this.getTotalPage()-1)+"</a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.getTotalPage())+"'\">"+(this.getTotalPage())+"</a>"); } if(this.pageNo != this.getTotalPage()){ pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+(this.pageNo+1)+"'\"><font size=2>下一页</font></a>"); pageView.add("<a href=\"javascript:void(0);\" onclick=\"javascript:window.location.href='" + url + "?" + params + "&pageNo="+this.getTotalPage()+"'\"><font size=2>尾页</font></a>"); } else{ pageView.add("<font size=2>下一页</font>"); pageView.add("<font size=2>尾页</font>"); } pageView.add("共<var>" + getTotalPage() + "</var>页 到第<input type='text' id='PAGENO' size='3' />页 <input type='button' id='skip' class='hand btn60x20' value='确定' onclick=\"javascript:window.location.href = '" + url + "?" + params + "&pageNo=' + $('#PAGENO').val() \"/>");}}
0 0
- 简单的分页封装(一)
- 简单的分页封装(二)
- 一个简单封装的分页类
- 自己封装的简单Jquery分页插件
- 简单的html数据分页控件封装
- 封装简单分页类的实现
- 封装一分页的工具类
- PHP+MySql实现的简单分页类的封装
- JSP分页导航简单封装
- javascript(jquery)实现前台html简单的分页封装
- 简单的封装网络下载almofire(一)
- 分页的封装方法
- 分页的封装
- 分页类的封装
- 封装的分页
- 对于分页的封装类
- php 分页代码的封装
- 分页的封装工具类
- (总结)Nginx配置文件nginx.conf中文详解
- Excel的xml表现格式
- 十二周——链表
- 移动Web手册
- 设置圆角。边框 和 阴影
- 简单的分页封装(一)
- 黑马程序员-IO字节流的基础应用。。整个IO的分析(字符流和字节流的选择,转换)
- 【参数】DB_nK_CACHE_SIZE参数设置与数据库默认块大小之间的限制
- LogLogic/Chuvakin Log Checklist
- IDEA 快捷键及修改
- 我曾经写过这么牛逼的存储过程呢?
- python的闭包与decorator 的关系
- SharePoint 2013 Power Pivot 安装详细说明(图解)
- CentOS中设置.so链接文件路径