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. Analysis Of The Causes Of Internal Symmetry Of Hydraulic Motor

    The main reasons why hydraulic motors have this symmetrical internal structure are as follows: The   ...

  2. wpf Command 携带当前窗口

    Command="{Binding GoPayCommand}" CommandParameter="{Binding RelativeSource={RelativeS ...

  3. HttpClient 学习整理 (转)

    source:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能 ...

  4. ajax 传参数 数组 会加上中括号

    解决办法 1,由于版本过高导致 我用的是1.9版本 2, 有三种选择. 一种是JSON.stringify([1,2,3]),到后端再解析. 另外一种是后端的接受的contentType改成appli ...

  5. 【2019 1月集训 Day1】回文的后缀

    题意: 给定 n,s,求有多少个字符集大小为 s ,长度为 n 的字符串,使得其不存在一个长度大于 1 的回文后缀. 答案对 m 取模. 分析: 考场见到计数题的链式反应,想写暴力—>暴力难写— ...

  6. ubuntu 16.04 数据库mysql安装与管理

    1.安装mysql的客户端与服务器端 $>sudo apt-get install mysql-server mysql-client 2.管理服务 1.启动 $>sudo service ...

  7. Centos6 安装nginx

    一.编译安装nginx 1.安装nginx所需要的库pcre,pcre的全称为:perl compatible regular expression即perl正则表达式,是为了使nginx具备URL重 ...

  8. <struct、union、enum>差异

    关于C++和C的区别 区别最大的是struct,C++中的struct几乎和class一样了,可以有成员函数,而C中的struct只能包含成员变量. enum,union没区别. struct的定义 ...

  9. Far Relative’s Problem (贪心 计算来的最多客人)

    Description Famil Door wants to celebrate his birthday with his friends from Far Far Away. He has n  ...

  10. Not so Mobile (针对递归输入的函数)

      Before being an ubiquous communications gadget, a mobile was just a structure made of strings and ...