- 浏览: 919368 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (537)
- Java SE (114)
- Struts (18)
- Hibernate (25)
- Spring (3)
- Page_Tech (41)
- Others (87)
- Database (29)
- Server (24)
- OpenSource_Tools (15)
- IDE_Tool (22)
- Algorithm (28)
- Interview (22)
- Test (28)
- Hardware (1)
- Mainframe (25)
- Web application (4)
- Linux (3)
- PHP (17)
- Android (1)
- Perl (6)
- ubuntu (1)
- Java EE (9)
- Web Analysis (5)
- Node.js (2)
- javascript (2)
最新评论
-
一键注册:
request.getRequestURL()和request.getRequestURI() -
SuperCustomer:
...
SED的暂存空间和模式空间 -
juyo_ch:
讲得挺好理解的,学习了
java 死锁及解决 -
chinaalex:
最后一题答案正确,但是分析有误.按照如下过程,上一行为瓶,下一 ...
zz智力题 -
liaowuxukong:
多谢博主啦,弱弱的了解了一点。
C++/Java 实现多态的方法(C++)
/**
* 分页算法
*/
package cn.eshore.user.util;
public class PageBean {
private int currentPage = 1;// 当前页数
public int totalPages = 0;// 总页数
private int pageSize = 0;// 每页显示数
private int totalRows = 0;// 总数据数
private int startNum = 0;// 开始记录
private int nextPage = 0;// 下一页
private int previousPage = 0;// 上一页
private boolean hasNextPage = false;// 是否有下一页
private boolean hasPreviousPage = false;// 是否有前一页
public PageBean(int pageSize, int currentPage, int totalRows) {
this.pageSize = pageSize;
this.currentPage = currentPage;
this.totalRows = totalRows;
if ((totalRows % pageSize) == 0) {
totalPages = totalRows / pageSize;
} else {
totalPages = totalRows / pageSize + 1;
}
if (currentPage >= totalPages) {
hasNextPage = false;
currentPage = totalPages;
} else {
hasNextPage = true;
}
if (currentPage <= 1) {
hasPreviousPage = false;
currentPage = 1;
} else {
hasPreviousPage = true;
}
startNum = (currentPage - 1) * pageSize;
nextPage = currentPage + 1;
if (nextPage >= totalPages) {
nextPage = totalPages;
}
previousPage = currentPage - 1;
if (previousPage <= 1) {
previousPage = 1;
}
}
public boolean isHasNextPage() {
return hasNextPage;
}
public boolean isHasPreviousPage() {
return hasPreviousPage;
}
/**
* @return the nextPage
*/
public int getNextPage() {
return nextPage;
}
/**
* @param nextPage
* the nextPage to set
*/
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
/**
* @return the previousPage
*/
public int getPreviousPage() {
return previousPage;
}
/**
* @param previousPage
* the previousPage to set
*/
public void setPreviousPage(int previousPage) {
this.previousPage = previousPage;
}
/**
* @return the currentPage
*/
public int getCurrentPage() {
return currentPage;
}
/**
* @param currentPage
* the currentPage to set
*/
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
/**
* @return the pageSize
*/
public int getPageSize() {
return pageSize;
}
/**
* @param pageSize
* the pageSize to set
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @return the totalPages
*/
public int getTotalPages() {
return totalPages;
}
/**
* @param totalPages
* the totalPages to set
*/
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
/**
* @return the totalRows
*/
public int getTotalRows() {
return totalRows;
}
/**
* @param totalRows
* the totalRows to set
*/
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
/**
* @param hasNextPage
* the hasNextPage to set
*/
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
/**
* @param hasPreviousPage
* the hasPreviousPage to set
*/
public void setHasPreviousPage(boolean hasPreviousPage) {
this.hasPreviousPage = hasPreviousPage;
}
/**
* @return the startNum
*/
public int getStartNum() {
return startNum;
}
/**
* @param startNum
* the startNum to set
*/
public void setStartNum(int startNum) {
this.startNum = startNum;
}
}
如果你使用的是struts,那么你在调用这个PageBean分页算法之前,你得先取得对你所想要进行分页的数据的总记录数,然后你就实例化这个PageBean,之后你就可以通过get方法得到任何你想要的值。
package test;
import cn.eshore.user.util.PageBean;
public class Test extends DispatchAction{
......
public ActionForward loadPageUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
.......
int pageSize = 5;
String pageId = request.getParameter("pageId");
if (pageId == null || pageId.equals("")) {
pageId = "1";
}
int currentPage = Integer.parseInt(pageId);
//从服务层里得到用户的总记录数
int totalRows = userService.getTotalRows();
PageBean page = new PageBean(pageSize, currentPage, totalRows);
....
}
}
发表评论
-
不使用/,%,+和*,如何判断一个数能否被3整除
2012-05-30 14:28 1806如果n的二进制末位为0,那么n和n>>1同时被 ... -
一些数学知识
2012-03-31 20:12 871zz:http://hi.baidu.com/imak ... -
高阶幂的求余的方法
2012-03-31 16:41 2805通常会有如下问法: 有两个数,A和B,A的范围 ... -
从N个变量中找出一个错误变量的方法
2012-03-31 12:17 874假设有N包咖啡,里面有一包咖啡是掺和了沙子的,可以将咖啡放到水 ... -
【转】大数据量算法
2012-03-06 16:11 1256第一部分、十五道海量数据处理面试题 1. 给定a、b两个 ... -
链表的一些常见笔试面试问题总结及代码
2010-10-27 13:39 1102先什么也不说,假设链 ... -
Trie Tree
2010-10-26 11:34 1483给你100000个长 ... -
字典树(trie tree)
2010-10-26 11:19 1396今天AC了两题tri ... -
高度为n的平衡二叉树最少需要多少个节点
2010-10-24 13:42 9456递推关系 A(1)=1 A(2)=2 A ... -
如何判断两个单向链表是否有相交,并找出交点
2010-10-24 13:37 1723题比较简单,单向链表有交点意思就是交点后的节点都是 ... -
大数据排序或取重或去重相关问题解决方案
2010-10-21 16:13 2786Q:TC群里有人发消息说在10亿个数据中找出所有的重复数,内存 ... -
分配排序(桶排序..)
2010-10-21 13:39 1896分配排序的基本思想:排序过程无须比较关键字,而是通过&qu ... -
Rete(3)
2010-10-21 09:59 9884.6 连接节点(Join node) ... -
Rete(2)
2010-10-21 09:57 1190使用RETE算法的模块系统 ... -
Rete(1)
2010-10-21 09:53 1078一、 rete概述Rete算法是一种前向规则快速匹配算法,其匹 ... -
[转]海量数据处理面试题
2010-10-20 15:15 10401. 给定a、b两个文件,各存放50亿个url,每个url各占 ... -
用JDBC实现数据的分页
2010-10-20 11:23 1235数据分页主要用到了resultSet的absolute()方法 ... -
如何求N的阶乘所得的数字末尾含有多少个0
2010-10-19 13:13 2201原题是这样: 给定 ... -
数据库笔试题(经典SELECT语句用法)
2010-10-18 22:49 2121问题描述: 为管理岗位业务培训信息,建立3个表: S ... -
Java分页实现
2010-10-18 22:11 1525Java代码 public interf ...
相关推荐
以下是一个简单的Java代码示例,基于List实现动态分页: ```java public class Pagination { private int totalRecord; // 总记录数 private int pageSize; // 每页记录数 private int currentPage; // 当前页码...
在Struts框架中,我们可以创建一个名为`PageBean`的Java Bean来存储和管理分页所需的信息。以下是一些关键属性: 1. `currentPage`: 当前页码,初始化为1。 2. `totalPages`: 总页数,根据总数据量和每页记录数计算...
海量数据库的查询优化及分页算法方案 随着大规模数据库的出现,如何高效地从这些超大容量的数据库中提取数据、分析、统计以及进行数据分页已经成为一个亟待解决的难题。以下我们将探讨如何在有着1000万条数据的MS ...
这个我人写的一个纯Java版的分页算法,与平台无关性,具有很好的通用性,同时附带完整的工程; 工程使用SQLServer2005,建表脚本在工程下的Setup中,根据你个人的数据库调整资源文件中的配置即可运行;同时这个算法...
3. **Keyset分页**:使用特定的主键或唯一键值作为分页依据,每次请求时只返回一个范围内的数据,这样避免了计算总行数的问题,尤其适合大数据量的场景。 4. **Limit分页**:在MySQL等支持LIMIT关键字的数据库中,...
当需要替换页面时,算法遍历页面表,选择第一个标记为未访问的页面进行替换。这种方法降低了LRU的实现复杂性,但牺牲了一定的性能。 MFC是微软提供的C++类库,用于构建Windows应用程序。利用MFC,我们可以创建用户...
MySQL 海量数据库的查询优化及分页算法方案 在大规模数据库中,查询优化和分页算法是两个非常重要的方面。本文将详细介绍 MySQL 海量数据库的查询优化和分页算法方案。 一、查询优化 查询优化是指通过调整查询...
一个分页算法的模拟,比较了三种页面置换算法(FIFO、LRU 和 OPTimal)的性能。
这种方式对于大数据集效率较高,但需要维护一个全局的最大或最小ID。 4. **物理分页与逻辑分页**:物理分页直接在存储层进行,如数据库索引,而逻辑分页是在应用层处理,如在查询结果上进行操作。物理分页通常更...
在网页开发中,分页算法是一项重要的技术,它使得大量数据可以被有效地组织和呈现,提高了用户体验。结合面向对象编程(OOP)思想,我们可以创建一个分页对象,以简化DAO(数据访问对象)层的代码,使得数据的分页...
2. 分页逻辑:开发者需要实现一个分页算法,确定每一页显示多少行数据,以及如何根据用户的选择(如上一页、下一页、跳转到指定页)来切换数据。这通常涉及到计算总页数、获取指定页的数据范围等操作。 3. 自定义...
分页算法是计算机科学中的一个重要概念,在Web开发中尤其常见。它的主要目的是将大量的数据按照一定的规则分割成多个较小的数据块(通常称为“页”),以便用户可以更方便地浏览和管理这些数据。 ### 分页算法的...
- **更新导航**:在导航栏中,显示第一页、最后一页以及当前页码附近的页码,保持总数在一个合适的范围内,比如5个左右。 - **滚动监听**:监听滚动事件,实时调整页码范围并更新导航。 - **异步加载**:当用户...
Clock算法是一种基于时间戳的优化FIFO算法,它在每个页面上设置一个引用位。当需要替换页面时,遍历页面链表,遇到引用位为0的页面立即替换;如果所有页面的引用位都为1,则重置整个链表并从头开始查找。这种方法...
对oracle操作报表,能够对数据进行分裂分页算法
分页是数据处理中的一个常见需求,尤其是在Web应用中,为了提升用户体验和减轻服务器压力,将大量数据分批展示是必要的。本文将深入分析一段Java代码,该代码实现了分页算法,通过解析其内部结构与逻辑,帮助理解...
----------=====Java 分页算法 =====------------ 1.Struts+JDBC分页算法 1.1 创建分页控制类(如果使用kevinb.jar可以省略本步) --创建接口Pageable.java --创建实现类PageableResultSet.java 使用以这个实现类来...
在大数据处理领域,分页算法是至关重要的,尤其是在Java编程环境下。当我们在处理大量数据时,一次性加载所有数据到内存可能会导致性能问题甚至内存溢出。因此,分页查询成为了一个有效的解决方案,它允许我们每次只...
在服务层,我们需要实现一个分页算法,计算总页数和当前页的数据范围。基本步骤包括: 1. 计算总记录数:通过DAO查询未分页的总数据量。 2. 计算总页数:总页数等于总记录数除以每页数量,如果余数不为0,则总页数加...