1. package com.zzuli.util;
  2.  
  3. import java.util.List;
  4.  
  5. /**
  6. * PageBean类
  7. * @author hejjon
  8. * @date 2019年6月8日 下午2:18:50
  9. * @param <T>
  10. */
  11. public class PageBean<T> {
  12. private int size; // 每页要显示的记录条数 指定默认为5
  13. private int index; // 当前页号
  14. private int totalPageCount; // 总页数
  15. private int totalCount; // 记录总条数
  16.  
  17. private int[] numbers; // 展示页数的数组
  18. private List<T> list; // 要显示到页面的数据集合
  19.  
  20. /**
  21. * 获取起始下标
  22. * @return
  23. */
  24. public int getStartRow() {
  25. return (index - 1) * size;
  26. }
  27.  
  28. /**
  29. * 获取结束下标
  30. * @return
  31. */
  32. public int getEndRow() {
  33. return index * size;
  34. }
  35.  
  36. /**
  37. * 获取每页要显示的记录条数
  38. * @return
  39. */
  40. public int getSize() {
  41. return size;
  42. }
  43.  
  44. /**
  45. * 设置每页要显示的记录条数
  46. * @param size
  47. */
  48. public void setSize(int size) {
  49. if (size > 0) {
  50. this.size = size;
  51. }
  52. }
  53.  
  54. /**
  55. * 获取当前页号
  56. * @return
  57. */
  58. public int getIndex() {
  59.  
  60. if (totalPageCount == 0) {
  61. return 0;
  62. }
  63. return index;
  64. }
  65.  
  66. /**
  67. * 设置当前页号
  68. * @param index
  69. */
  70. public void setIndex(int index) {
  71. if (index > 0) {
  72. this.index = index;
  73. }
  74. }
  75.  
  76. /**
  77. * 获取记录总条数
  78. * @return
  79. */
  80. public int getTotalCount() {
  81. return totalCount;
  82. }
  83.  
  84. /**
  85. * 设置记录总条数
  86. * @param totalCount
  87. */
  88. public void setTotalCount(int totalCount) {
  89. if (totalCount > 0) {
  90. this.totalCount = totalCount;
  91. setTotalPageCountByRs(); // 根据总记录数计算总页数
  92. }
  93. }
  94.  
  95. /**
  96. * 获取总页数
  97. * @return
  98. */
  99. public int getTotalPageCount() {
  100. return totalPageCount;
  101. }
  102.  
  103. /**
  104. * 根据总记录条数计算总页数
  105. */
  106. private void setTotalPageCountByRs() {
  107. if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size == 0) {
  108. this.totalPageCount = this.totalCount / this.size;
  109. } else if (this.size > 0 && this.totalCount > 0 && this.totalCount % this.size > 0) {
  110. this.totalPageCount = this.totalCount / this.size + 1;
  111. } else {
  112. this.totalPageCount = 0;
  113. }
  114. // 设置展示页数数组
  115. setNumbers(totalPageCount);
  116. }
  117.  
  118. /**
  119. * 获取展示页数的数组
  120. * @return
  121. */
  122. public int[] getNumbers() {
  123. return numbers;
  124. }
  125.  
  126. /**
  127. * 设置展示页数的数组
  128. * @param numbers
  129. */
  130. public void setNumbers(int totalPageCount) {
  131. if (totalPageCount > 0) {
  132. // 当前数组长度
  133. int[] numbers = new int[totalPageCount > 10 ? 10 : totalPageCount];
  134. int k = 0;
  135.  
  136. for (int i = 0; i < totalPageCount; i++) {
  137. if ((i >= index - (numbers.length / 2 + 1) || i >= totalPageCount - numbers.length)
  138. && k < numbers.length) {
  139. numbers[k] = i + 1;
  140. k++;
  141. } else if (k >= numbers.length) {
  142. break;
  143. }
  144. }
  145. this.numbers = numbers;
  146. }
  147.  
  148. }
  149.  
  150. /**
  151. * 获取要显示到页面的数据集合
  152. * @return
  153. */
  154. public List<T> getList() {
  155. return list;
  156. }
  157.  
  158. /**
  159. * 设置要显示到页面的数据集合
  160. * @param list
  161. */
  162. public void setList(List<T> list) {
  163. this.list = list;
  164. }
  165. } // end PageBean

JavaWeb分页-----PageBean.java的更多相关文章

  1. javaweb分页查询实现

    Javaweb分页技术实现 分页技术就是通过SQL语句(如下)来获取数据,具体实现看下面代码 //分页查询语句 select * from 表名 where limit page , count; 和 ...

  2. Mybatis包分页查询java公共类

    Mybatis包分页查询java公共类   分页----对于数据量非常大的查询中.是不可缺少的. mybatis底层的分页sql语句因为须要我们自己去手动写.而实现分页显示的时候我们须要依据分页查询条 ...

  3. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  4. 做JavaWeb开发不知Java集合类不如归家种地

    Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...

  5. 住javaWeb分页实现(模拟百度首页)

    本文来源于 http://blog.csdn.net/tjpu_lin/article/details/41050475 近期在开发一个项目,项目中有非常多数据展示的模块.所以要用到分页,网上搜了非常 ...

  6. javaweb分页思想

    web上的分页分析   在web编写中的经常会遇到,数据需要分页的情况.当数据量不是很大的时候.   可以直接使用js来分页.可以很好的提高性能.简化代码.数据量大的时候.还是需要使用java的分页类 ...

  7. cassandra高级操作之分页的java实现(有项目具体需求)

    接着上篇博客,我们来谈谈java操作cassandra分页,需要注意的是这个分页与我们平时所做的页面分页是不同的,具体有啥不同,大家耐着性子往下看. 上篇博客讲到了cassandra的分页,相信大家会 ...

  8. Javaweb分页功能简单实现

    效果如下图 数据库中的数据                                                                页面效果 首先,创建一个通用类Page,代码及 ...

  9. MongoDB分页的Java实现和分页需求的思考

    前言 传统关系数据库中都提供了基于row number的分页功能,切换MongoDB后,想要实现分页,则需要修改一下思路. 传统分页思路 假设一页大小为10条.则 //page 1 1-10 //pa ...

随机推荐

  1. 京东js加密 nloginpwd 破解

    京东登录,有一个参数nloginpwd,是加密字段. 第一步:浏览器抓包 第二部:搜索加密字段 js 代码 第三部: 下断点 2. js代码: var navigator = {}; var wind ...

  2. 201871010102-《面向对象程序设计(java)》第6-7周学习总结

    博文正文开头:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...

  3. udp,select超时和recvfrom收不到数据原因

    wirshark抓包,发现有数据.但是select超时,直接recvfrom又失败. 代码中需要改进:select超时后,会移除fd_set集合中超时的那个句柄,所以每次要重新进行FD_SET,然后再 ...

  4. 前端页面模拟浏览器搜索功能Ctrl+F实现

    <html> <head> <style type="text/css"> .res { color: Red; } .result{ back ...

  5. USACO Protecting the Flowers

    洛谷 P2878 [USACO07JAN]保护花朵Protecting the Flowers 洛谷传送门 JDOJ 1009: 护花 JDOJ传送门 Description FJ出去砍木材去了,把N ...

  6. SVG学习(三)

    _ 阅读目录 一:在SVG中使用样式 二:分组和引用对象 1. 理解 <g> 元素 2. 理解 <use> 元素 3. 理解 <defs> 元素 4. 理解< ...

  7. sqlyog 下载

    https://www.cnblogs.com/givemelove/p/7777975.html

  8. HTML JAVASCRIPT CSS 大小写敏感问题

    html: 大小写不敏感 css: 大小写不敏感 javascript: 大小写敏感 但是 但是 但是 这三者是相互联系的, 所以合在一起使用的时候就产生了变化 ----  TagName, Clas ...

  9. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,升级流程源码详细说明

    前言 1.BootLoader程序,升级简要流程图 2.其实主要的就是把程序文件写入环形队列,然后环形队列取出来数据写入Flash 3.用户程序,简要流程图 下面的读一下,有个印象就可以: 说白了就是 ...

  10. css----单行文本超出部分显示省略号

    width: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;