1、分页类:
public class Page {
/**
* 一行显示的最大记录数
*/
public static int MAX_ROW = 15;
/**
* 当前开始位置
*/
private int index;
/**
* 总页数
*/
private int page_num;
/**
* 查询的结果集大小
*/
private int total;
/**
* 返回链接
*/
private String url;
public Page() {
index = 0;
page_num = 1;
total = 0;
}
public int getTotal() {
return total;
}
public int getIndex() {
return index;
}
public int getPageNum() {
return page_num;
}
public void setTotal(int num) {
total = num;
if (total % MAX_ROW == 0) {
page_num = total / MAX_ROW;
}
else {
page_num = total / MAX_ROW + 1;
}
}
/**
* 在文本中插入页面标号为num的标记
*/
private void insertTag(StringBuffer text, int num) {
int temp = index / MAX_ROW;
if (num == temp) {
text.append(num + 1).append(" ");
}
else {
text.append("<a href=" + url + "&start_index=");
text.append(num * MAX_ROW).append(">").append(num + 1).append("</a> ");
}
}
/**
* 在文本中插入位置为起始位置为num,页面标号为str的标记
* @param text
* @param num 起始位置
* @param str 页面编号
*/
private void insertTag(StringBuffer text, int num, String str) {
text.append("<a href=" + url + "&start_index=");
text.append(num).append(">").append(str).append("</a> ");
}
public String getFooter() {
if (total <= MAX_ROW) {
return "";
}
StringBuffer str = new StringBuffer("分页:");
if (page_num <= MAX_ROW) {
for (int i = 0; i < page_num; i++) {
insertTag(str, i);
}
if (index + MAX_ROW < total) {
insertTag(str, index + MAX_ROW, "下一页");
}
else {
str.append("下一页");
}
return str.toString();
}
else {
int unit = MAX_ROW * MAX_ROW;
if (index < unit) {
int i;
for (i = 0; i < MAX_ROW; i++) {
insertTag(str, i);
}
String tt = "下" + MAX_ROW + "页";
insertTag(str, i * MAX_ROW, tt);
return str.toString();
}
else { //处理在中间或最后10页的问题
//page表示页;section表示多个页组成的面
//当前页面所在的页号。
int currentPage = index / MAX_ROW;
//当前页所在的面
int currentSection = currentPage / MAX_ROW + 1;
//上一面的开始页
int lastPage = (currentSection - 1) * MAX_ROW - 1;
//上一面的开始页的开始项的编号
int lastPageRow = lastPage * MAX_ROW;
//下一面的开始页编号
int nextPage = currentSection * MAX_ROW;
//下一面的开始页的开始项的编号
int nextPageRow = nextPage * MAX_ROW;
String tt = "上" + MAX_ROW + "页";
insertTag(str, lastPageRow, tt);
//如果还有下一面
if (nextPageRow <= total - 1) {
for (int i = 0; i < MAX_ROW; i++) {
insertTag(str, i + lastPage + 1);
}
tt = "下" + MAX_ROW + "页";
insertTag(str, nextPageRow, tt);
}
else { //如果没有下一面
//当前面的页面总数
int lengthOfPage = total - (lastPage + 1) * MAX_ROW;
lengthOfPage = lengthOfPage / MAX_ROW + 1;
for (int i = 0; i < lengthOfPage; i++) {
insertTag(str, i + 1 + lastPage);
}
}
return str.toString();
}
}
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public void setIndex(int index) {
this.index = index;
}
}
//未完待续..........................................
分享到:
相关推荐
java工具类---ftp文件上传...................................
page.java java分页工具类
java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类
Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验Java校验身份证号码工具类 ---运行几年了,很靠谱。包含15位身份证校验
分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类
NULL 博文链接:https://fangyinhui.iteye.com/blog/1788939
java日常处理工具类part1-代码
java工具类代码,javaUtils文件夹中包含多种工具类,正则工具,base64工具等
Class类工具 \Cookie工具类 \excel读取 工具类\Java如何生成验证码图片和点击刷新验证码\java获取当前月第一天和最后一天,上个月第一天和最后一天\java实现ftp文件的上传与下载\Json工具类 - JsonUtils.java\JS...
对分页进行了封装,PageUtil.java的分页工具类,自己写了一个dome。
没有CSDN积分的朋友到这里源头下载:http://www.javacs.cn/bbs/thread-382-1-1.html 感谢支持 [工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中计算任意两个日期之间的工作天数 .java....
* 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ public class XmlManager { /** * 得到某节点下某个属性的值 * @param element 要获取属性的...
用java原生的摘要实现SHA256加密
mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反编译工具jd-gui 1.4.0mac下java反...
[工具类] CookieCounter .java.txt [工具类] 验证码img .jsp.txt [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt...
自己简单的做了一个初级分页,可以直接拿去应用,希望有帮助
java实现分页的工具类!对首页、上一页、下一页、尾页包括选择某一页可以轻松实现!
OKEX工具类jar 20190529 okex-java-sdk-api.jar OKEX工具类jar 20190529 okex-java-sdk-api.jar
基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的开发源码-Hutool (Java基础工具类).zip 基于java的...