java分页计算_java分页算法
关键字: 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分页算法相关推荐
- java分页模板_java 分页模型的模板
分页sql select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 ) sel ...
- java 页码计算_分页之页面页码列表计算
分页之页面页码列表计算 我们通过看百度的分页可以发现以下规律: 1.最多显示10个页码: 2.当前页在页码中的位置定为六: 所以只需要当前页码来定出来页码列表,定下来页码列表只需要两个数据:begin ...
- java规则计算_java实现的霍纳规则的多项式计算
java实现的霍纳规则的多项式计算 霍纳规则多项式计算如果使用朴素的多项式求值,时间复杂度为O(n*n),而是用了霍纳规则可以使用递归或者迭代来实现,时间复杂度是O(n),下面是源代码: /* * 实 ...
- java 精确 计算_java中进行高精度精准计算
今天在做接口传保费的时候出现了一个奇怪的问题,double类型保费变成了一大长串的非精准保费,甚至奇怪,难道是java的bug?最后通过度娘找到了答案 话不多说,先看如下代码public final ...
- java 年计算_JAVA计算年/周的问题
靠!最近有这个需求,把我郁闷的要死!!花了好几天了还是没有满意的结果,看来还得研究JDK自己的东东啊,没有根基,哪来的大厦? 终于还是看到了tag的文章,很感谢他! shit!我真的费了好大的劲,结果 ...
- java 年计算_java实现计算某年某月的天数
在计算某年某月的天数时,需要注意平年闰年. 分析:闰年具体的判定方法就要看它的判定条件:四年一闰 , 百年不闰 ,400年再闰.而计算该年该月的天数,又分大月和小月,特殊月份2月之分. (视频教程推荐 ...
- java基础排序_Java排序算法-Java入门|Java基础课程
1. 课程目标排序是任何语言都会使用到的功能之一,然成果排序的算法有很多,对空间的要求及其时间效率也不尽相同. 本文章以Java语言示例,通过对空间要求.时间效率要求,来对比各种排序算法的使用场景 2 ...
- java编程计算_java编程之输入并进行计算
/* *使用 字符流 编程实现以下功能 (1)从键盘输入姓名.学号.成绩,并保存到文本文件中,重复进行,直到输入空字符串为止 (2)从文件中读取各学生的成绩,并计算所有学生成绩的平均值.最大值和最小值 ...
- java 流计算_Java 流收集器 ( Stream Collectors ) ( 一 ) - 统计计算
首先需要声明的是,我的开发语言是 PHP,但我对所有语言都懂一点点,然后很多文章,都是看到某个知识点就想写些什么 刚刚再浏览某些文章的时候看到 Java 的流收集器 ( Stream Collecto ...
- java 公式计算_java 实现的公式计算
发个我写的计算公式代码: package org.yangzc.math; import java.util.Stack; import java.util.regex.Matcher; import ...
最新文章
- 微信小程序 解决请求服务器手机预览请求不到数据的方法
- Java注解Annotation详解
- malloc线程安全
- mysql的join语句使用_在MySQL中使用JOIN语句进行连接操作的详细教程
- 我的2021年度总结
- SpringBoot整合Shiro实现权限控制,验证码
- 傲游浏览器linux傲游源,Ubuntu下安装遨游浏览器
- php.ini_中文详解
- C语言bmp转JPEG不用库函数,C++图片格式转换:BMP转JPEG
- 昔日的手游大作,《无尽之剑》系列如今为何走向英雄末路?
- 06 基于MAC和国外服务器及WordPress搭建个人网站
- root后手机银行用不了,root之后手机银行不能用
- 福州大学计算机学硕分数,2021年福州大学考研录取分数线应该在哪里查询?
- 计算机专业答题神器,答题神器哪个好用 答题神器对比测评
- php中fwrite函数的用法,PHP函数fwrite的用法
- L3-python语言中的几种特征操作
- GitHub 标星 6
- 防止被00后整顿?一公司招聘要求员工不能起诉公司
- 抖店无货源如何上架商品?抖店上货教程标题
- 网约车市场再起风云,T3、高德谁能“狙击”美团?