关键字: j2ee 网页 struts 分页算法

/**

* 分页算法

*/

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);

....

}

}

java分页计算_java分页算法相关推荐

  1. java分页模板_java 分页模型的模板

    分页sql select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 ) sel ...

  2. java 页码计算_分页之页面页码列表计算

    分页之页面页码列表计算 我们通过看百度的分页可以发现以下规律: 1.最多显示10个页码: 2.当前页在页码中的位置定为六: 所以只需要当前页码来定出来页码列表,定下来页码列表只需要两个数据:begin ...

  3. java规则计算_java实现的霍纳规则的多项式计算

    java实现的霍纳规则的多项式计算 霍纳规则多项式计算如果使用朴素的多项式求值,时间复杂度为O(n*n),而是用了霍纳规则可以使用递归或者迭代来实现,时间复杂度是O(n),下面是源代码: /* * 实 ...

  4. java 精确 计算_java中进行高精度精准计算

    今天在做接口传保费的时候出现了一个奇怪的问题,double类型保费变成了一大长串的非精准保费,甚至奇怪,难道是java的bug?最后通过度娘找到了答案 话不多说,先看如下代码public final ...

  5. java 年计算_JAVA计算年/周的问题

    靠!最近有这个需求,把我郁闷的要死!!花了好几天了还是没有满意的结果,看来还得研究JDK自己的东东啊,没有根基,哪来的大厦? 终于还是看到了tag的文章,很感谢他! shit!我真的费了好大的劲,结果 ...

  6. java 年计算_java实现计算某年某月的天数

    在计算某年某月的天数时,需要注意平年闰年. 分析:闰年具体的判定方法就要看它的判定条件:四年一闰 , 百年不闰 ,400年再闰.而计算该年该月的天数,又分大月和小月,特殊月份2月之分. (视频教程推荐 ...

  7. java基础排序_Java排序算法-Java入门|Java基础课程

    1. 课程目标排序是任何语言都会使用到的功能之一,然成果排序的算法有很多,对空间的要求及其时间效率也不尽相同. 本文章以Java语言示例,通过对空间要求.时间效率要求,来对比各种排序算法的使用场景 2 ...

  8. java编程计算_java编程之输入并进行计算

    /* *使用 字符流 编程实现以下功能 (1)从键盘输入姓名.学号.成绩,并保存到文本文件中,重复进行,直到输入空字符串为止 (2)从文件中读取各学生的成绩,并计算所有学生成绩的平均值.最大值和最小值 ...

  9. java 流计算_Java 流收集器 ( Stream Collectors ) ( 一 ) - 统计计算

    首先需要声明的是,我的开发语言是 PHP,但我对所有语言都懂一点点,然后很多文章,都是看到某个知识点就想写些什么 刚刚再浏览某些文章的时候看到 Java 的流收集器 ( Stream Collecto ...

  10. java 公式计算_java 实现的公式计算

    发个我写的计算公式代码: package org.yangzc.math; import java.util.Stack; import java.util.regex.Matcher; import ...

最新文章

  1. 微信小程序 解决请求服务器手机预览请求不到数据的方法
  2. Java注解Annotation详解
  3. malloc线程安全
  4. mysql的join语句使用_在MySQL中使用JOIN语句进行连接操作的详细教程
  5. 我的2021年度总结
  6. SpringBoot整合Shiro实现权限控制,验证码
  7. 傲游浏览器linux傲游源,Ubuntu下安装遨游浏览器
  8. php.ini_中文详解
  9. C语言bmp转JPEG不用库函数,C++图片格式转换:BMP转JPEG
  10. 昔日的手游大作,《无尽之剑》系列如今为何走向英雄末路?
  11. 06 基于MAC和国外服务器及WordPress搭建个人网站
  12. root后手机银行用不了,root之后手机银行不能用
  13. 福州大学计算机学硕分数,2021年福州大学考研录取分数线应该在哪里查询?
  14. 计算机专业答题神器,答题神器哪个好用 答题神器对比测评
  15. php中fwrite函数的用法,PHP函数fwrite的用法
  16. L3-python语言中的几种特征操作
  17. GitHub 标星 6
  18. 防止被00后整顿?一公司招聘要求员工不能起诉公司
  19. 抖店无货源如何上架商品?抖店上货教程标题
  20. 网约车市场再起风云,T3、高德谁能“狙击”美团?

热门文章

  1. Java 移位运算详解
  2. Ubuntu20.04安装ROS教程(虚拟机/双系统,含报错解决)
  3. springCloud 之 Eureka高可用配置
  4. Adapter(适配器)模式
  5. java 宠物店管理系统
  6. thinkPHP开发的彩票网站源码,含pc端和手机端
  7. 各种材料衣服的保养 全面知识分享
  8. Jmeter下载与安装
  9. 删除无法读取源文件或磁盘的文件 删除系统找不到指定路径的文件
  10. 无法读源文件或磁盘_文件、文件夹、磁盘加密 -我们推荐这个便宜的解决方案!...