`
anysky131
  • 浏览: 178574 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA工具类集锦1--分页类

    博客分类:
  • Java
阅读更多

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.0

    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反...

    java代码:java工具类-javaUtils多种工具类-正则工具-base64工具等

    JavaUtils工具类是Java开发中常见的一类代码资源,它们提供了许多便利的静态方法,用于简化常见的编程任务。在这个压缩包文件"javaUtils"中,我们可以期待找到一系列实用的工具类,比如正则表达式处理工具和Base64...

    Rabbitmq工具类,java工具类RabbitmqUtil

    `RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...

    Java实体类字段生成工具类-将数据库表列字段转为Java实体类驼峰字段

    1、在Java开发中,常常需要将数据库表列字段换成Java实体类字段。但是手动实现这个转换过程比较慢,且容易出错,影响开发效率。为了解决这个问题,开发了这个Java实体类字段生成工具类。 2、该工具类可以将数据库表...

    java分页工具类

    本篇文章将详细探讨Java中的分页工具类及其核心实现原理。 首先,我们要理解什么是分页。分页是一种将大量数据分割成若干小部分(页)来展示的技术,每一页包含一定数量的数据,用户可以通过翻页来查看更多的记录。...

    Java 所有字符串转UTF-8 万能工具类-GetEncode.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 Tcp 客户端工具类java Tcp 客户端工具类 java ...

    java图片处理工具类JAR包 java-image-scalingjar

    java图片处理工具类JAR包 java-image-scalingjar

    cors-filter-1.7.jar 和 java-property-utils-1.9.jar

    而`java-property-utils-1.9.jar` 提供了一些用于处理Java属性文件的工具类,这些工具在配置CORS过滤器时可能会用到,例如读取配置文件中的CORS策略。 在配置CORS过滤器时,首先需要将这两个库添加到项目的类路径中...

    Java modbus工具类jlibmodbus-1.2.9.7.jar

    稀缺工具类jar包。主要用于modbus通讯主从站使用。相较于modbus4j,该jar包再网上比较难找到,需要的可以下载使用!既可以配置主站,也可以配置从站,支持TCP和RTU.该工具包适用于eclipse软件,直接再lib中导入即可...

    工具收集 - java-decompiler / jd-gui

    工具收集 - java-decompiler / jd-gui

    Java反编译工具jd-gui

    JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。 JD-GUI是使用C++开发的一款Java反编译工具,它是一个独立图形界面的Java源代码“.class”文件反编译工具。

    echarts对应后台java类的工具jar

    1. 引入工具jar:首先需要将这个jar文件引入到你的Java项目中,可以通过Maven或Gradle等构建工具添加依赖,或者直接将jar文件放入项目的lib目录。 2. 创建ECharts Option对象:工具提供了一系列与ECharts图表相关的...

    java反编译工具jd-gui-windows

    Java反编译工具JD-GUI是一款在Windows操作系统上运行的实用程序,专门设计用于查看Java类文件的源代码。在Java编程中,由于字节码的特性,源代码在编译后通常不会直接包含在最终的JAR或类库文件中。JD-GUI作为一个...

    分页工具类分页工具类

    2. 应用程序层面:在Java中,可以自定义一个分页工具类,包含如分页参数(当前页码、每页大小)、数据获取方法(根据页码和每页大小从数据库获取数据)以及分页导航信息(如上一页、下一页、总页数等)。 3. 设计...

    java 工具类 lang3 jar包

    java 工具类 lang3 jar包 StringUtils ArrayUtils SystemUtils

    protoc+protoc-gen-grpc-java

    这将生成Java源代码,包括protobuf消息类和服务存根。 3. 编译生成的Java代码,并在你的应用中引入它们。在服务端,实现服务接口并启动gRPC服务器;在客户端,使用服务存根来调用远程方法。 总的来说,`protoc`和`...

    6-分页工具类1

    本例中,我们讨论的是一个基于Java和MySQL的分页工具类,用于处理数据库查询的分页操作。 在MySQL中,`LIMIT` 子句常用来实现分页,其基本语法格式为 `LIMIT [offset],rows`。`offset` 表示从结果集的第几个元素...

    java反编译工具--jd-jui

    Java反编译工具JD-GUI是一款非常实用的软件,它专为开发者设计,用来查看Java字节码(.class文件)对应的源代码。在开发过程中,我们可能遇到没有源码的第三方库,或者想要理解已编译的Java类是如何工作的,这时JD-...

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

Global site tag (gtag.js) - Google Analytics