- 浏览: 664049 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (173)
- ajax (4)
- ant (4)
- css (14)
- eclipse (1)
- exe4j (0)
- hibernate (7)
- html (29)
- http (2)
- install4j (0)
- java (35)
- javascript (31)
- jdbc (1)
- jquery (2)
- jsp (15)
- linux命令 (8)
- ooad (2)
- properties (3)
- servlet (1)
- spring (3)
- struts (6)
- swing (4)
- thread (2)
- version_control (1)
- webservice (4)
- xml (4)
- 数据库 (19)
- 正则表达式 (5)
- 其他 (16)
- 面试题 (1)
- 框架 (9)
- maven (1)
- util (29)
- 设计模式 (1)
最新评论
-
herodie4444:
看起来好像不难。
Java Struts2创建Excel文件并实现文件下载 -
心轨翼:
Java遍历Set集合方法 -
魔鬼的献祭:
...
java的web开发分页工具类 -
Nmxszxsl:
能发一个没有被墙的代码到我的邮箱吗?万分感谢。54365156 ...
Google翻译post提交无长度限制的在线翻译例子 -
782763595:
...
jar包混淆器介绍
分页处理和储存分页用工具类。
import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * 储存分页处理工具类 在调用此类的方法之前需设置总页数(即得先从数据库查询到相应数据的数据量) * * @author ahomeeye * @version 1.0 */ public class Pagination implements Serializable { private static final long serialVersionUID = 1L; private int start; // start表示当前页开始的记录数,start=每页行数*(当前页数-1) private int end; // 当前页结束的记录行数 private int totalCount; // 总行数 private int rowsPerPage = 15; // 每页行数,默认15 private int currentPage; // 当前页数 private int pageListSize = 9;// 页码列表大小,默认9 private List<Integer> pageNumList = new ArrayList<Integer>(); public Pagination() { start = 0; end = 0; currentPage = 1; this.totalCount = 0; } public Pagination(int totalCount) { start = 0; end = 0; currentPage = 1; this.totalCount = totalCount; } public Pagination(int totalCount, int numPerPage) { start = 0; end = 0; this.totalCount = totalCount; currentPage = 1; if (numPerPage > 0) { rowsPerPage = numPerPage; } } /** * 执行翻页动作 * * @param currentPage * 要翻到的目标页码 * @return 返回翻页对象 */ public Pagination doPagination(int currentPage) { gotoPage(currentPage); return this; } // 设置起始数 public int getStart() { start = rowsPerPage * (currentPage - 1); return start; } // 得到起始数 public void setStart(int start) { if (start < 0) { this.start = 0; } else if (start >= this.totalCount) { this.start = this.totalCount - 1; } else { this.start = start; } } // 设置当前页的最后一行的在总记录中的顺序(从0开始) public void setEnd(int end) { this.end = end; } // 得到当前页的最后一行的在总记录中的顺序(从0开始) public int getEnd() { if (rowsPerPage * currentPage > this.totalCount) { end = this.totalCount - 1; } else { end = rowsPerPage * currentPage - 1; } return end; } // 以下4个方法供控制器(struts)调用 // 判断能否到第一页;只要能到上一页,肯定就有第一页 public boolean firstEnable() { return previousEnable(); } // 判断能否到上一页 public boolean previousEnable() { return currentPage > 1;// 只要不是第一页,就能到上一页 } // 判断能否到下一页 public boolean nextEnable() { return currentPage * rowsPerPage < this.totalCount; } // 判断能否到最后一页;只要有下一页,就肯定有最后一页. public boolean lastEnable() { return nextEnable(); } // 跳到第一页 public void firstPage() { currentPage = 1; } // 跳到上一页 public void previousPage(int cPage) { currentPage = (cPage - 1) > 0 ? (cPage - 1) : 1; } // 跳到下一页 public void nextPage(int cPage) { currentPage = cPage + 1; if (currentPage * rowsPerPage > this.totalCount) { lastPage(); } } // 跳到最后一页 public void lastPage() { if (this.totalCount % rowsPerPage == 0) { currentPage = this.totalCount / rowsPerPage; } else { currentPage = this.totalCount / rowsPerPage + 1; } } // 跳到指定的某一页 public void gotoPage(int pageNumber) { if (pageNumber <= 1) { currentPage = 1; } else if (getTotalCount() < this.getRowsPerPage()) { currentPage = 1; } else if (pageNumber * rowsPerPage >= this.totalCount) { lastPage(); } else { currentPage = pageNumber; } } // 设置总行数 public void setTotalCount(int totalCount) { this.totalCount = totalCount; } // 得到总行数 public int getTotalCount() { return totalCount; } // 设置每页行数 public void setRowsPerPage(int rowsPerPage) { this.rowsPerPage = rowsPerPage; } // 得到每页行数 public int getRowsPerPage() { return rowsPerPage; } // 得到总页数 public int getPages() { if (this.totalCount % rowsPerPage == 0) return this.totalCount / rowsPerPage; else return this.totalCount / rowsPerPage + 1; } // 得到当前页数 public int getCurrentPage() { return currentPage; } // 设置当前页数 public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getPageListSize() { return pageListSize; } // 设置页码列表大小 public void setPageListSize(int pageListSize) { this.pageListSize = pageListSize; } // 得到页面列表 public List<Integer> getPageNumList() { this.pageNumList.removeAll(this.pageNumList);// 设置之前先清空 int totalPage = getPages(); if (totalPage > this.pageListSize) { int halfSize = this.pageListSize / 2; int first = 1; int end = 1; if (this.currentPage - halfSize < 1) { // 当前页靠近最小数1 first = 1; end = this.pageListSize; } else if (totalPage - this.currentPage < halfSize) { // 当前页靠近最大数 first = totalPage - this.pageListSize + 1; end = totalPage; } else { first = this.currentPage - halfSize; end = this.currentPage + halfSize; } for (int i = first; i <= end; i++) { this.pageNumList.add(i); } } else { for (int i = 0; i < totalPage; i++) { this.pageNumList.add(i + 1); } } return pageNumList; } }
评论
3 楼
魔鬼的献祭
2016-08-11
2 楼
ahomeeye
2011-09-22
说明应该是:分页处理和储存分页用工具类。就只有一个类。
1 楼
hellostory
2011-09-19
存储数据呢?分享下
发表评论
-
java读取.properties配置文件的几种方法
2017-09-22 09:38 670读取.properties配置文件在实际的开发中使用的很多,总 ... -
java前后台字符串编码转换
2016-12-15 15:52 799此文为应用中遇到字符串编码转换问题网上找资料解决问题记录笔记, ... -
JS前端DES加密参数
2016-07-08 14:27 11721DES加密为可解密的机制,这里使用DES进行加密方便后台解密还 ... -
XSS跨站漏洞修复
2016-07-08 11:47 4915避免XSS跨站漏洞的方法之一主要是将用户所提交的内容输入输出进 ... -
hibernate的clob数据处理
2014-05-21 17:11 1101hibernate的clob数据处理: import or ... -
java设计模式笔记链接地址汇总
2012-12-25 12:02 1084这是iteye博客用户的iulve-rover-163-com ... -
java枚举类型(转)
2012-12-24 18:34 4971public class TestEnum { ... -
内存溢出
2012-11-21 11:07 11191.PermGen space的全称是Permanent Ge ... -
日期比较例子
2012-10-16 15:30 1211/** * 时间日期比较处理例子 * @autho ... -
Struts2的简单示例action类
2012-09-26 19:57 4688基类: package com.kit.common; ... -
Java过滤html标签
2012-09-21 09:54 1807方法一: String oldStr="< ... -
Web项目设置页面不缓存
2012-08-04 19:55 2868htm网页 <meta http-equiv=&qu ... -
Java文件保存与删除工具类
2012-07-26 15:46 4351import java.io.File; import ... -
使用AOP实现监控日志并保存
2012-07-13 20:42 6003最近项目中要做个效能监控的功能,经过考虑,觉得选择spring ... -
POI兼容读取Excel2003和Excel2007
2012-06-29 16:00 9448import java.io.File; import ... -
登录验证过滤器Filter
2012-06-01 14:30 1605import java.io.IOException; ... -
java Web常用基本操作代码
2011-12-30 10:23 34411.Struts2中文件保存 //设置文件的三个属性,并 ... -
Eclipse或MyEclipse中如何恢复已删除文件(转)
2011-12-24 18:44 1513今天在MyEclipse鼠标点得太快,误删了一个花了两天才写好 ... -
POI读取Excel的Integer数值
2011-12-08 19:38 1852// 取得当前Cell的数值 Integer num ... -
Hibernate多对多自身关联的例子代码
2011-12-06 12:11 3027背景说明:论坛中每个用户(Admin类)有多个好友,每个好友, ...
相关推荐
PageUtils是一个Java工具类,用于简化分页逻辑的处理。它包含以下两个主要部分: 1. PageInfo 内部类:这是一个泛型类,封装了分页所需的信息,包括当前页码、页面大小、总页数、总记录数和当前页的记录列表。 2. ...
本篇文章将详细探讨Java中的分页工具类及其核心实现原理。 首先,我们要理解什么是分页。分页是一种将大量数据分割成若干小部分(页)来展示的技术,每一页包含一定数量的数据,用户可以通过翻页来查看更多的记录。...
综上所述,这个项目利用`PageUtil.java`工具类对分页进行了封装,简化了分页查询的过程,提高了开发效率。同时,通过`GroupAction`、`GroupService`、`GroupDao`以及`GroupMapper.xml`的协同工作,实现了从用户请求...
### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...
在IT领域,分页工具类是数据库操作和Web开发中常用的一种组件,它主要用于处理大量数据的展示,避免一次性加载所有数据导致的性能问题。在实际应用中,分页可以帮助用户更加高效地浏览和管理信息,提高用户体验。...
在实际开发中,选择合适的分页工具取决于项目需求和团队技术栈。源码阅读有助于深入理解分页机制,而熟练使用工具则能提高开发效率。无论选择哪种方式,掌握分页标签的使用都是提升Java Web应用性能的关键步骤。
Java分页工具类是开发中常见的一种实用工具,主要用于处理大量数据时的分页显示,以提高用户体验并减轻服务器压力。在Java世界里,我们通常会遇到如MyBatis、Hibernate等ORM框架,它们虽然提供了分页功能,但在某些...
本文将深入探讨如何在Java中实现Web分页封装,以便在实际项目中灵活应用。 首先,我们需要了解分页的基本概念。分页是将大量数据分割成较小、可管理的部分,每次只加载一部分到前端显示。这有助于减少网络传输的...
标题中的“Pager(通过的分页工具类)”显然指的是一个用于实现分页功能的Java类。在这个类中,开发者通常会封装分页操作的相关逻辑,以便在各种场景下复用。现在我们来详细探讨一下分页的基本概念、设计原则以及...
本文将详细介绍一个基于Java编写的分页工具类及其工作原理,同时提及它使用了自定义标签,并分析其可能存在的不足之处。 首先,分页工具类的主要作用是帮助我们处理数据库查询结果的分页显示。在Java Web应用中,...
学习Java Web开发首先要掌握Java的基础语法、类、对象、接口、异常处理以及多线程等核心概念。在实际项目中,Java的Servlet和JSP(JavaServer Pages)是处理HTTP请求和生成动态内容的主要工具,它们为Web应用提供了...
本资源提供的"java实现部分工具类"涵盖了几个关键方面,包括前端Bootstrap样式的应用、页面布局管理、数据列表的渲染与展示以及分页和文件上传功能的实现。以下将对这些知识点进行详细阐述。 1. **Bootstrap样式与...
总之,自定义分页标签是Java Web开发中的重要技巧,它能提升用户体验,同时简化开发工作。通过以上步骤,我们可以根据需求创建多套风格各异的分页标签,例如模仿淘宝购物分页样式,满足不同项目的需求。在实际开发中...
在Java Web开发中,Struts框架是一个非常流行的MVC(模型-视图-控制器)架构,用于构建可维护性和可扩展性高的企业级应用程序。SSH框架则是Struts、Spring和Hibernate三个开源框架的组合,提供了数据持久化、业务...
2. **PageUtils.java**:分页工具类。在处理大数据量时,分页查询是提高系统性能的常见策略。PageUtils可能提供了对数据库查询结果进行分页处理的方法,包括计算总页数、获取当前页数据等功能,通常与MyBatis或JPA等...
Ehcache本身提供了线程安全的保证,但如果是自定义的缓存实现,需要考虑并发读写的问题,可以使用`synchronized`关键字或`java.util.concurrent`包中的工具类。 7. **异常处理**:在处理缓存和数据库查询时,需要...
在Java开发中,分页是常见的功能,尤其是在处理大量数据时,为了提高用户体验,需要将数据分批展示。"Java实现真分页.自己领悟."这个主题主要关注如何在Java Web应用中实现高效的分页机制。这里我们通过分析标题、...
Java Web分页是Web开发中一个重要的技术,主要用于处理大数据量的展示问题,避免一次性加载所有数据导致页面响应慢或服务器资源浪费。本知识点将详细讲解Java Web分页的原理、实现方式以及常见工具。 一、分页原理 ...