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;
}
}
//未完待续..........................................
分享到:
相关推荐
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反...
JavaUtils工具类是Java开发中常见的一类代码资源,它们提供了许多便利的静态方法,用于简化常见的编程任务。在这个压缩包文件"javaUtils"中,我们可以期待找到一系列实用的工具类,比如正则表达式处理工具和Base64...
`RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...
1、在Java开发中,常常需要将数据库表列字段换成Java实体类字段。但是手动实现这个转换过程比较慢,且容易出错,影响开发效率。为了解决这个问题,开发了这个Java实体类字段生成工具类。 2、该工具类可以将数据库表...
本篇文章将详细探讨Java中的分页工具类及其核心实现原理。 首先,我们要理解什么是分页。分页是一种将大量数据分割成若干小部分(页)来展示的技术,每一页包含一定数量的数据,用户可以通过翻页来查看更多的记录。...
不需要关心接受的字符串编码是UTF_8还是GBK,还是ios-8859-1,自动转换为utf-8编码格式,无需判断字符串原有编码,用法://处理编码String newStr = GetEncode.transcode(oldStr);
java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java Tcp 客户端工具类java Tcp 客户端工具类 java ...
java图片处理工具类JAR包 java-image-scalingjar
而`java-property-utils-1.9.jar` 提供了一些用于处理Java属性文件的工具类,这些工具在配置CORS过滤器时可能会用到,例如读取配置文件中的CORS策略。 在配置CORS过滤器时,首先需要将这两个库添加到项目的类路径中...
稀缺工具类jar包。主要用于modbus通讯主从站使用。相较于modbus4j,该jar包再网上比较难找到,需要的可以下载使用!既可以配置主站,也可以配置从站,支持TCP和RTU.该工具包适用于eclipse软件,直接再lib中导入即可...
工具收集 - java-decompiler / jd-gui
JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。 JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。
1. 引入工具jar:首先需要将这个jar文件引入到你的Java项目中,可以通过Maven或Gradle等构建工具添加依赖,或者直接将jar文件放入项目的lib目录。 2. 创建ECharts Option对象:工具提供了一系列与ECharts图表相关的...
Java反编译工具JD-GUI是一款在Windows操作系统上运行的实用程序,专门设计用于查看Java类文件的源代码。在Java编程中,由于字节码的特性,源代码在编译后通常不会直接包含在最终的JAR或类库文件中。JD-GUI作为一个...
2. 应用程序层面:在Java中,可以自定义一个分页工具类,包含如分页参数(当前页码、每页大小)、数据获取方法(根据页码和每页大小从数据库获取数据)以及分页导航信息(如上一页、下一页、总页数等)。 3. 设计...
java 工具类 lang3 jar包 StringUtils ArrayUtils SystemUtils
这将生成Java源代码,包括protobuf消息类和服务存根。 3. 编译生成的Java代码,并在你的应用中引入它们。在服务端,实现服务接口并启动gRPC服务器;在客户端,使用服务存根来调用远程方法。 总的来说,`protoc`和`...
本例中,我们讨论的是一个基于Java和MySQL的分页工具类,用于处理数据库查询的分页操作。 在MySQL中,`LIMIT` 子句常用来实现分页,其基本语法格式为 `LIMIT [offset],rows`。`offset` 表示从结果集的第几个元素...
Java反编译工具JD-GUI是一款非常实用的软件,它专为开发者设计,用来查看Java字节码(.class文件)对应的源代码。在开发过程中,我们可能遇到没有源码的第三方库,或者想要理解已编译的Java类是如何工作的,这时JD-...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...