1. public class PageUtil {
  2. private int totalCount;//总数
  3. private int pageSize=10;//每页显示数量
  4. private int currpageNum;//当前页
  5. private int pageCount;//总页数
  6. private int prePage;//上一页
  7. private int nextPage;//下一页
  8. private boolean hasPrePage;//是否有上一页
  9. private boolean hasNextPage;//是否有下一页
  10. private int firstPage;//第一页
  11. private int lastPage;//最后一页
  12. private int currentcount;//当前从第多少条数据开始显示
  13.  
  14. public PageUtil() {
  15.  
  16. }
  17. public PageUtil(int totalCount,int pageNum){
  18. this.totalCount =totalCount;
  19. this.currpageNum=pageNum;
  20. this.pageCount = (int) Math.ceil(1.0*totalCount/pageSize);
  21. this.currentcount =(pageCount-1)*pageSize;
  22. if(pageNum>1){ //判断是不是第一页
  23. /*--不是第一页 则有上一页 ,也有第一页--*/
  24. hasPrePage=true;
  25. prePage = pageNum-1;
  26. firstPage =1;
  27. }
  28. if(pageNum<pageCount){//判断是不是最后一页
  29. /*--不是最后一页 则有上一页 ,也有最后一页--*/
  30. hasNextPage=true;
  31. nextPage=pageNum+1;
  32. lastPage=pageCount;
  33. }
  34. }
  35. public int getTotalCount() {
  36. return totalCount;
  37. }
  38. public void setTotalCount(int totalCount) {
  39. this.pageCount = (int) Math.ceil(1.0*totalCount/pageSize);
  40. if(this.currpageNum < 1)
  41. {
  42. this.currpageNum = 1 ;
  43. }
  44. this.currentcount =(currpageNum-1)*pageSize;
  45. if(currpageNum>1){ //判断是不是第一页
  46. /*--不是第一页 则有上一页 ,也有第一页--*/
  47. hasPrePage=true;
  48. prePage = currpageNum-1;
  49. firstPage =1;
  50. }
  51. if(currpageNum<pageCount){//判断是不是最后一页
  52. /*--不是最后一页 则有上一页 ,也有最后一页--*/
  53. hasNextPage=true;
  54. nextPage=currpageNum+1;
  55. lastPage=pageCount;
  56. }
  57. this.totalCount = totalCount;
  58. }
  59. public int getPageSize() {
  60. return pageSize;
  61. }
  62. public void setPageSize(int pageSize) {
  63. this.pageSize = pageSize;
  64. }
  65. public int getPrePage() {
  66. return prePage;
  67. }
  68. public void setPrePage(int prePage) {
  69. this.prePage = prePage;
  70. }
  71. public int getNextPage() {
  72. return nextPage;
  73. }
  74. public void setNextPage(int nextPage) {
  75. this.nextPage = nextPage;
  76. }
  77. public boolean isHasPrePage() {
  78. return hasPrePage;
  79. }
  80. public void setHasPrePage(boolean hasPrePage) {
  81. this.hasPrePage = hasPrePage;
  82. }
  83. public boolean isHasNextPage() {
  84. return hasNextPage;
  85. }
  86. public void setHasNextPage(boolean hasNextPage) {
  87. this.hasNextPage = hasNextPage;
  88. }
  89. public int getFirstPage() {
  90. return firstPage;
  91. }
  92. public void setFirstPage(int firstPage) {
  93. this.firstPage = firstPage;
  94. }
  95. public int getLastPage() {
  96. return lastPage;
  97. }
  98. public void setLastPage(int lastPage) {
  99. this.lastPage = lastPage;
  100. }
  101.  
  102. public int getCurrpageNum() {
  103. return currpageNum;
  104. }
  105. public void setCurrpageNum(int currpageNum) {
  106. this.currpageNum = currpageNum;
  107. }
  108. public int getPageCount() {
  109. return pageCount;
  110. }
  111. public void setPageCount(int pageCount) {
  112. this.pageCount = pageCount;
  113. }
  114. public int getCurrentcount() {
  115. return currentcount;
  116. }
  117. public void setCurrentcount(int currentcount) {
  118. this.currentcount = currentcount;
  119. }
  120.  
  121. }

说明:

 构造函数:  一个是无参的  一个是有参的;  不论使用哪个都需要先创建(new)对象, 当然也可以设置静态类;

无参构造函数:

  使用无参构造函数 ,只需要从数据库中查询到 数据的总条数 count(*),调用pageutil.setTotalCount("总的数据条数"), 就可以进行分页了; 默认每页10条数据

有参构造函数:

   使用有参构造函数 ,只需要从数据库中查询到 数据的总条数 count(*),并且传入要每页分多少条数据,初始化对象, 就可以进行分页了;

一般通过request.attribute("pageUtil",pageUtil),就可以在JSP页面进行分页

PageUtil ,简单的分页工具的更多相关文章

  1. PageUtil.java分页工具类

    package com.chabansheng.util; /** * 分页工具类 * @author Administrator * */ public class PageUtil { /** * ...

  2. pageUtil分页工具

    分页工具: https://www.cnblogs.com/ggq-insist-qiang/articles/10095603.html

  3. Js处理数据——前端分页工具

    这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具. 分页是个很简单又超多接触的技术点,粗略来讲分如下两种: 真分页--每次根据页码.页大小 ...

  4. 用Qt写软件系列三:一个简单的系统工具(上)

    导言 继上篇<用Qt写软件系列二:QIECookieViewer>之后,有一段时间没有更新博客了.这次要写的是一个简单的系统工具,需求来自一个内部项目.功能其实很简单,就是查看当前当前系统 ...

  5. 简单的分页存储过程,Json格式日期转换为一般日期

    简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...

  6. jquery ajax json简单的分页,模拟数据,没有封装,只显示原理

    简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> & ...

  7. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  8. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  9. PHP常用之封装分页工具类

    分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完 ...

随机推荐

  1. [笔试面试题] 10-C和C++区别相关

    1 C和C++有什么不同? 机制不同:C是面向过程的(但C也可以编写面向对象的程序):C++是面向对象的,提供了类.但是,C++编写面向对象的程序比C容易. 适用领域不同:C适合要求代码体积小的,效率 ...

  2. myeclipse中js文件报错

    这几天在myeclipse中添加文件时,会报错,但是代码是从官网上下载的,没有错误,只是myeclipse的检查较为严格.在网上找到解决方案,希望可以帮到强迫症的人. 解决步骤: 1.window→P ...

  3. python自动化--语言基础二运算符、格式化输出、条件语句、循环语句、列表、元组

    运算符包括:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.身份运算符. 算术运算符 %   取模(余数) //  取相除的整数部分 /   (5/2=2.5) 比较运算符 ==  等于 ...

  4. 【C++】智能指针简述(三):scoped_ptr

    在介绍scoped_ptr之前,我们先回顾一下前两篇文章的内容. 首先,智能指针采用RAII机制,通过对象来管理指针,构造对象时,完成资源的初始化;析构对象时,对资源进行清理及汕尾. auto_ptr ...

  5. System.err与System.out的区别

    大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错. 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错. 在其它语言中 ...

  6. [Windows Server 2012] MySQL更改数据库引擎(MyISAM改为INNODB)

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:更改MyS ...

  7. Oracle 11g 字符集修改

    服务端字符集修改 1.确认服务端字符集 select userenv('language') from dual; 2.修改服务端字符集 首先以 DBA 身份登录 Oracle.Windows 系统下 ...

  8. 【转载】appium自动化环境搭建

    1.java开发环境JDK 2.android SDK(platform/platform tools/tools/build tools) 3.python下载安装(pip) 4.appium下载安 ...

  9. Rest 参数(...)

    javascript 之Rest 参数(...) ES6 Rest参数 Rest就是为解决传入的参数数量不一定, rest parameter(Rest 参数) 本身就是数组,数组的相关的方法都可以用 ...

  10. spring boot+mybatis+mysql增删改查分页

    server: port: servlet: context-path: /springBootMybatis spring: datasource: name: test url: jdbc:mys ...