java分页计算_java分页算法「建议收藏」

java分页计算_java分页算法「建议收藏」关键字:j2ee网页struts分页算法/***分页算法*/packagecn.eshore.user.util;publicclassPageBean{privateintcurrentPage=1;//当前页数publicinttotalPages=0;//总页数privateintpageSize=0;//每页显示数privateintto…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

关键字: 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);

….

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186256.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • wpf-AvalonDock基础-安装和更换主题

    wpf-AvalonDock基础-安装和更换主题最近对wpf的多窗口排列问题深感头疼,算尺寸、位置太麻烦了(也可能是我菜鸡的缘故),最后决定用AvalonDock,排列很漂亮。本篇主要是安装和更换主题,后续会更一篇项目中常用的技巧。再吐槽一下,AvalonDock的中文资料同质化太严重!!!很多需要自己测试了才能用好(我的环境是win10+vs2019)喜欢的话为我的辛苦点个赞吧!嘤嘤嘤安装Avalondock是一个支持mvvm的框架,可以快速开发出类似visualstudio的多窗口app。去https://archive.codepl

  • 网管必备工具_ps功能介绍与工具使用视频

    网管必备工具_ps功能介绍与工具使用视频http://book.51cto.com/art/200903/116214.htm 转载于:https://blog.51cto.com/netsecing/163178

  • opencv lsd算法_opencv目标识别

    opencv lsd算法_opencv目标识别最小二乘法的概念最小二乘法要关心的是对应的costfunction是线性还是非线性函数,不同的方法计算效率如何,要不要求逆,矩阵的维数一般都是过约束,方程式的数目多于未知的参数数目。最小二乘法的目标:求误差的最小平方和,根据costfunction的对应有两种:线性和非线性(取决于对应的残差(residual)是线性的还是非线性的)。线性最小二乘的解是closed-formsolution …

  • 海思Hi3798MV310芯片处理器参数介绍「建议收藏」

    海思Hi3798MV310芯片处理器参数介绍「建议收藏」Hi3798MV310是用于IPTV/OTT机顶盒市场的支持4KP60解码的超高清高性能SOC芯片。集成4核64位高性能CortexA53处理器和多核高性能2D/3D加速引擎;支持H.265/AVS24Kx2K@P6010bit超高清视频解码,高性能的H.265高清视频编码,HDR视频解码及显示,HDR转SDR,BT.2020,Dolby和DTS音频处理;内置USB2.0…

  • 浅析finalize方法「建议收藏」

    浅析finalize方法「建议收藏」昨天有个小伙伴聊到java对象finalize方法。于是就想好好总结一下。咱们都知道判断一个对象是否已经死了的方法有两种:1:引用计数法2:可达性分析算法由于我们通常使用…

  • 千分位的写法_千分位格式

    千分位的写法_千分位格式之前看到一道面试题,要求使用js写千分位,当时面试时有点懵逼,但是后来参考网上的写法与自己的思考,写出了千分位。以下是通过网上的代码,本人进行了进一步优化后的代码,仅供参考。相比较与网上的方法,我

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号