Pagination类

package com.paic.bics.core.mybatis.page;

import java.util.List;

@SuppressWarnings("serial")
public class Pagination<T> extends SimplePage implements java.io.Serializable,
Paginable { /**
* 当前页的数据
*/
private List<T> list; public Pagination() {
} public Pagination(int pageNo, int pageSize, int totalCount) {
super(pageNo, pageSize, totalCount);
} @SuppressWarnings("unchecked")
public Pagination(int pageNo, int pageSize, int totalCount, List list) {
super(pageNo, pageSize, totalCount);
this.list = list;
} public int getFirstResult() {
return (pageNo - 1) * pageSize;
} public List<T> getList() {
return list;
} public void setList(List<T> list) {
this.list = list;
} /**paic.bics SEO 翻页版本*/
public String getWebPage(String page){
StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
if(this.getPageNo()>1){
if(this.getPageNo()>5){
pageHtml.append("<li><a href='javascript:;' onclick='"+ page +"'>首页</a></li>");
}
pageHtml.append("<li><a href='"+ page +""+(this.getPageNo() -1) +"'>上一页</a></li>");
}
for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
if (this.getPageNo() == i) {
pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
}else{
pageHtml.append("<li><a href='"+ page +""+ i +"'>"+i+"</a></li>");
}
}
if(this.getPageNo() < this.getTotalPage()){
pageHtml.append("<li><a href='"+ page +""+(this.getPageNo()+1) +"'>下一页</a></li>");
}
pageHtml.append("</ul>");
return pageHtml.toString();
} /**Ajxa翻页*/
public String getSiAjaxPageHtml(){
StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
if(this.getPageNo()>1){
if(this.getPageNo()>5){
pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax(1)'>首页</a></li>");
}
pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax("+(this.getPageNo() - 1)+")'>上一页</a></li>");
}
for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
if (this.getPageNo() == i) {
pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
}else{
pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax("+i+")'>"+i+"</a></li>");
}
}
if(this.getPageNo() < this.getTotalPage()){
pageHtml.append("<li><a href='javascript:;' onclick='goPageByAjax("+(this.getPageNo() + 1)+")'>下一页</a></li>");
}
pageHtml.append("</ul>");
return pageHtml.toString();
} /**普通翻页*/
public String getPageHtml(){
StringBuffer pageHtml = new StringBuffer("<ul class='pagination'>");
if(this.getPageNo()>1){
if(this.getPageNo()>5){
pageHtml.append("<li><a href='javascript:;' onclick='_submitform(1)'>首页</a></li>");
}
pageHtml.append("<li><a href='javascript:;' onclick='_submitform("+(this.getPageNo() - 1)+")'>上一页</a></li>");
}
for (int i = (this.getPageNo()-2<=0?1:this.getPageNo()-2),no = 1; i <= this.getTotalPage()&& no <6 ; i++,no++) {
if (this.getPageNo() == i) {
pageHtml.append("<li class='active'><a href='javascript:void(0);' >"+i+"</a></li>");
}else{
pageHtml.append("<li><a href='javascript:;' onclick='_submitform("+i+")'>"+i+"</a></li>");
}
}
if(this.getPageNo() < this.getTotalPage()){
pageHtml.append("<li><a href='javascript:;' onclick='_submitform("+(this.getPageNo() + 1)+")'>下一页</a></li>");
}
pageHtml.append("</ul>");
pageHtml.append("<script>");
pageHtml.append(" function _submitform(pageNo){");
pageHtml.append(" $(\"#formId\").append($(\"<input type='hidden' value='\" + pageNo +\"' name='pageNo'>\")).submit();");
pageHtml.append(" }");
pageHtml.append("</script>"); return pageHtml.toString();
} }

SimplePage.java

package com.paic.bics.core.mybatis.page;

public class SimplePage implements Paginable {
private static final long serialVersionUID = 1L;
public static final int DEF_COUNT = 20; public SimplePage() {
} public SimplePage(int pageNo, int pageSize, int totalCount) {
if (totalCount <= 0) {
this.totalCount = 0;
} else {
this.totalCount = totalCount;
}
if (pageSize <= 0) {
this.pageSize = DEF_COUNT;
} else {
this.pageSize = pageSize;
}
if (pageNo <= 0) {
this.pageNo = 1;
} else {
this.pageNo = pageNo;
}
if ((this.pageNo - 1) * this.pageSize >= totalCount) {
this.pageNo = totalCount / pageSize;
if(this.pageNo==0){
this.pageNo = 1 ;
}
}
} /**
* 调整分页参数,使合理化
*/
public void adjustPage() {
if (totalCount <= 0) {
totalCount = 0;
}
if (pageSize <= 0) {
pageSize = DEF_COUNT;
}
if (pageNo <= 0) {
pageNo = 1;
}
if ((pageNo - 1) * pageSize >= totalCount) {
pageNo = totalCount / pageSize;
}
} public int getPageNo() {
return pageNo;
} public int getPageSize() {
return pageSize;
} public int getTotalCount() {
return totalCount;
} public int getTotalPage() {
int totalPage = totalCount / pageSize;
if (totalCount % pageSize != 0 || totalPage == 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; public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
protected int filterNo; public int getFilterNo() {
return filterNo;
} public void setFilterNo(int filterNo) {
this.filterNo = filterNo;
} }

Paginable.java

package com.paic.bics.core.mybatis.page;

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();
}

java 翻页工具类的更多相关文章

  1. HttpTool.java(在java tool util工具类中已存在) 暂保留

    HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

  2. java文件处理工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

  3. java格式处理工具类

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

  4. Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类

    Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类   =========================== ©Copyright 蕃薯耀 2017年9月25日 http://www ...

  5. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  6. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  7. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

  8. JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)

    系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...

  9. java 解析excel工具类

      java 解析excel工具类 CreateTime--2018年3月5日16:48:08 Author:Marydon ReadExcelUtils.java import java.io.Fi ...

随机推荐

  1. 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)

    1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...

  2. 阿里云部署flask

    https://www.cnblogs.com/Ray-liang/p/4173923.html

  3. Spring Boot . 4 -- 定制 Spring Boot 配置

    覆写 Auto-Configuration 的类 利用外部属性进行动态配置 [本文] 定制 Error 页面 [第二篇] Spring Boot的自动配置可以节省很多无趣的配置工作,但是并不是所有的自 ...

  4. oracle学习链接

    http://www.cnblogs.com/huyong/category/646939.html

  5. MRC转ARC(2)

    春节前抽空花了一天的时间将手头的工程从MRC转成了ARC,然后陆陆续续地修复一部分因为转ARC引起的内存泄漏和崩溃,到目前为止工程也算是比较稳定了,抽空记上一笔.(虽说这种事情这辈子估计都只会做这么一 ...

  6. qrcode.js扫码邀请

    //js引用部分<script src="../qrcode.js" type="text/javascript"></script> ...

  7. js中给正则传参、传递变量

    js中验证字符串有时需要用到正则表达式,一般情况下直接写正则进行验证就行. 但是遇到需要把部分正则作为参数传递就麻烦一点,需要用到RegExp()对象. <script type="t ...

  8. 集训第五周 动态规划 K题 背包

    K - 背包 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  9. ECNU 3263 丽娃河的狼人传说 (贪心)

    链接:http://acm.ecnu.edu.cn/problem/3263/ 题意: 从 1 到 n 的一条数轴.有 m 个区间至少要安装一定数量的路灯,路灯只能装在整数点上,有k盏路灯已经安装好  ...

  10. SSL 握手协议详解

    这里重点介绍一下服务端的验证和密钥交换.这个阶段的前面的(a)证书 和(b)服务器密钥交换是基于密钥交换方法的.而在SSL中密钥交换算法有6种:无效(没有密钥交换).RSA.匿名Diffie-Hell ...