java 翻页工具类
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 翻页工具类的更多相关文章
- HttpTool.java(在java tool util工具类中已存在) 暂保留
HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...
- java文件处理工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...
- java格式处理工具类
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...
- Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类
Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类 =========================== ©Copyright 蕃薯耀 2017年9月25日 http://www ...
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。
1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...
- JAVA 8 日期工具类
JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...
- JavaSE-基础语法(二)-系统类(java.lang.*)和工具类(java.util.*)
系统类(java.lang.*)和工具类(java.util.*) 一.系统类(java.lang.*) 这个包下包含java语言的核心类,如String.Math.System和Thread类等,使 ...
- java 解析excel工具类
java 解析excel工具类 CreateTime--2018年3月5日16:48:08 Author:Marydon ReadExcelUtils.java import java.io.Fi ...
随机推荐
- C 语言指针 5 分钟教程
指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里“引用”表示计算机内存地址.从指针指向的内存读取数据称作指针的取值.指针可以指向某些具 ...
- ArrayList中removeAll和clear的区别(无区别)
removeAll会直接调用此方法,传入list和false,因中间的逻辑都不会走(如果由retainAll方法调用,则会走这些逻辑判断),所以只需要看finaly中的最后一个if条件,w=0,通过循 ...
- python3中shuffle函数
1. shuffle函数与其他函数不一样的地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能 请看下面的坑 ...
- Android Bitmap详细介绍(3)
package com.testbitmapscale; import java.io.File; import java.io.FileInputStream; import java.io.Fil ...
- LeetCode136,137寻找只出现一次的数
1.题目意思:在数组中,只有一个数字只出现了一次 其他的都出现了两次.找出那个只出现一次的数字. //利用位运算 异或 两个相同的数字异或为0 public int singleNumber(int[ ...
- Chrome插件:浏览器后台与页面间通信
content.js 与 background.js和popup.js 通信和 background.js与popup.js 这些通信都用 chrome.runtime.sendMessage 这个 ...
- LCS以及输出路径模板
记忆 两个for用来寻找LCS,DP是二维的,每一维代表了字符串的长度. 寻找的代码部分 if(a[i-1]==b[j-1]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][ ...
- laydate组件选择时间段的判断
前言: 在使用laydate组件的时候,难免会遇到选择时间段,官网给的文档中有选择时间段的组件,但是并不好用,首先只能选择一个月的时间段,有局限性,其次精确到时间的话要先选日期范围再选时间范围,很变态 ...
- Jquery 动态添加元素后,获取不到元素对象情况
- PHP读取超大的excel文件数据的方案
场景和痛点 说明 今天因为一个老同学找我,说自己公司的物流业务都是现在用excel处理,按月因为数据量大,一个excel差不多有百万数据,文件有接近100M,打开和搜索就相当的慢 联想到场景:要导入数 ...