pageUtil类负责得到每页的开始数和结束数

  1. package control;
  2.  
  3. public class PageUtil {
  4. private int pageSize;//每页显示的条数
  5. private int recordCount;//总共的条数
  6. private int currentPage;//当前页面
  7. public PageUtil(int pageSize, int recordCount, int currentPage){
  8. this.pageSize = pageSize;
  9. this.recordCount = recordCount;
  10. setCurrentPage(currentPage);
  11. }
  12. //构造方法
  13. public PageUtil(int pageSize, int recordCount) {
  14. this(pageSize, recordCount, 1);
  15. }
  16. //总页数
  17. public int getPageCount() {
  18. int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
  19. int mod = recordCount%pageSize;//最后一页的条数
  20. if(mod != 0)
  21. size++;
  22. return recordCount == 0 ? 1 : size;
  23. }
  24. //包含,起始索引为0
  25. public int getFromIndex() {
  26. //System.out.println("from index:"+(currentPage-1) * pageSize);
  27. return (currentPage-1) * pageSize;
  28. }
  29. //不包含
  30. public int getToIndex() {
  31. //System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize));
  32. return Math.min(recordCount, currentPage * pageSize);
  33. }
  34. //得到当前页
  35. public int getCurrentPage(){
  36. return currentPage;
  37. }//设置当前页
  38. public void setCurrentPage(int currentPage) {
  39. int validPage = currentPage <= 0 ? 1 : currentPage;
  40. validPage = validPage > getPageCount() ? getPageCount() : validPage;
  41. this.currentPage = validPage;
  42. }//得到每页显示的条数
  43. public int getPageSize() {
  44. return pageSize;
  45. }//设置每页显示的条数
  46. public void setPageSize(int pageSize) {
  47. this.pageSize = pageSize;
  48. }//得到总共的条数
  49. public int getRecordCount() {
  50. return recordCount;
  51. }//设置总共的条数
  52. public void setRecordCount(int recordCount){
  53. this.recordCount = recordCount;
  54. }
  55. }

 下面的代码是放在jsp的

  1. <%
  2. PublishersDAO dao = PublishersDAO.getInstance();
  3. List records = dao.getModels();
  4. String pageStr = request.getParameter("page");
  5. int currentPage = 1;
  6. if (pageStr != null)
  7. currentPage = Integer.parseInt(pageStr);
  8. PageUtil pUtil = new PageUtil(10, records.size(), currentPage);
  9. currentPage = pUtil.getCurrentPage();
  10. %>

  下面的代码是放在变量的上面

  1. <%
  2. for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
  3. PublisherModel model = (PublisherModel) records.get(i);

out.print("<TD>"+model.getA()+"</TD>");
out.print("<TD>"+model.getB()+"</TD>");

  1. %>
  2. 中间是显示的代码
  3. <%}%>

  

  1. ----------这个是结尾的
  1. <tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center">
  2. 记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%>
  3. /<%=pUtil.getPageCount()%>每页显示<%=pUtil.getPageSize()%>条
  4. <a href="showTodolist.jsp?page=1">首页</a>
  5. <a href="showTodolist.jsp?page=<%=(currentPage - 1)%>">上页</a>
  6. <a href="showTodolist.jsp?page=<%=(currentPage + 1)%>">下页</a>
  7. <a href="showTodolist.jsp?page=<%=pUtil.getPageCount()%>">末页</a>
  8. </td></tr>

  

jsp分页代码之pageUtil类的更多相关文章

  1. JSP 分页代码

    jsp 分页模板 后台分页代码: 说明: 在 com.zc.domain 包下: PageBean.java 文件 package cn.itcast.customer.domain;   impor ...

  2. jsp+oracle 排序分页+Pageutil类

    1.rownum和排序 Oracle中的rownum的是在取数据的时候产生的序号,所以想对指定排序的数据去指定的rowmun行数据就必须注意了. SQL> select rownum ,id,n ...

  3. jsp前端实现分页代码

    前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...

  4. 分页技巧_改进JSP页面中的公共分页代码_实现分页时可以有自定义的过滤与排序条件

    分页技巧__改进JSP页面中的公共分页代码 自定义过滤条件问题 只有一个url地址不一样写了很多行代码 public>>pageView.jspf添加 分页技巧__实现分页时可以有自定义的 ...

  5. 第一次做的jsp分页,详细代码。。。。

    自己学jsp也有了一段时间,而且自己现在上的课是java web现在雪儿基础做了一个最简单的jsp页面,代码都放在一个页面,自己准备在改进,一步步来,这里的代码可能不是很完美,没事,下面接下来会有大概 ...

  6. JSP分页显示实例(基于Bootstrap)

    首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...

  7. 转:JSP 分页显示数据 (Oracle)

    JSP 分页显示数据 (Oracle) 标签: Oracle分页JSP分页 2013-11-19 20:40 3598人阅读 评论(1) 收藏 举报  分类: Web(11)  版权声明:本文为博主原 ...

  8. JSP 分页显示数据 (Oracle)

    要实现分页,首先我们要做的就是如何来编写SQL语句,网上也有很多,大家可以搜一下.在这里,我们使用一种比较常用的方式来编写SQL语句.代码如下: ----分页显示 select * from (sel ...

  9. 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页

    Service: /** * @Description: 1.保存定区  2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...

随机推荐

  1. Old Calculator

    描述 szhhck have an old calculator bought 5 years ago.he find the old machine can just calculate expre ...

  2. vs2010 调试C++程序 快捷键

    命令名 快捷键 说明 调试.应用代码更改 Alt + F10 启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改. 调试.自动窗口 Ctrl + D,Ctrl + A 显示“ ...

  3. spring+hibernate+struts整合(2)

    spring和struts2的整合 1:配置Web.xml文件 <filter> <filter-name>struts2</filter-name> <fi ...

  4. java+mysql实现保存图片到数据库,以及读取数据库存储的图片

    一:建表 二:获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: /** * */ package c ...

  5. MySQL 更改默认编码为 utf8 (转)

      转自blog.sina.com.cn/s/blog_4c451e0e0100vefm.html 1.打开MySQL安装目录找到 my.ini,如:C:\Program Files\MySQL\My ...

  6. [改善Java代码]频繁插入和删除时使用LinkedList

    一.分析 前面有文章分析了列表的表里方式,也就是“读”的操作.本文将介绍表的“写”操作:即插入.删除.修改动作. 二.场景 1.插入元素 列表中我们使用最多的是ArrayList,下面看看他的插入(a ...

  7. 【转】istringstream、ostringstream、stringstream 类介绍 .

    http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html 好吧,懒死我算了

  8. Linux 根文件系统的制作

    一.建立根文件系统目录与文件 1. 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var ...

  9. linux信息查找

    问题: 1. 当使用一台linux机器的时候,常常需要确认当前所用操作系统的版本信息,内核信息等, 操作系统的版本信息可以通过以下命令完成,比如:lsb_release -a:cat /etc/iss ...

  10. hdoj1423 最长上升公共子序列

    hdoj1423 题目分析: 两个数组a[n1] , b[n2], 求最长上升公共子序列. 我们可用一维存储 f[i] 表示 b 数组以 j 结尾, 与 a[] 数组构成的最长公共上升子序列. 对数组 ...