jsp分页代码之pageUtil类
pageUtil类负责得到每页的开始数和结束数
- package control;
- public class PageUtil {
- private int pageSize;//每页显示的条数
- private int recordCount;//总共的条数
- private int currentPage;//当前页面
- public PageUtil(int pageSize, int recordCount, int currentPage){
- this.pageSize = pageSize;
- this.recordCount = recordCount;
- setCurrentPage(currentPage);
- }
- //构造方法
- public PageUtil(int pageSize, int recordCount) {
- this(pageSize, recordCount, 1);
- }
- //总页数
- public int getPageCount() {
- int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
- int mod = recordCount%pageSize;//最后一页的条数
- if(mod != 0)
- size++;
- return recordCount == 0 ? 1 : size;
- }
- //包含,起始索引为0
- public int getFromIndex() {
- //System.out.println("from index:"+(currentPage-1) * pageSize);
- return (currentPage-1) * pageSize;
- }
- //不包含
- public int getToIndex() {
- //System.out.println("to index:"+Math.min(recordCount, currentPage * pageSize));
- return Math.min(recordCount, currentPage * pageSize);
- }
- //得到当前页
- public int getCurrentPage(){
- return currentPage;
- }//设置当前页
- public void setCurrentPage(int currentPage) {
- int validPage = currentPage <= 0 ? 1 : currentPage;
- validPage = validPage > getPageCount() ? getPageCount() : validPage;
- this.currentPage = validPage;
- }//得到每页显示的条数
- public int getPageSize() {
- return pageSize;
- }//设置每页显示的条数
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }//得到总共的条数
- public int getRecordCount() {
- return recordCount;
- }//设置总共的条数
- public void setRecordCount(int recordCount){
- this.recordCount = recordCount;
- }
- }
下面的代码是放在jsp的
- <%
- PublishersDAO dao = PublishersDAO.getInstance();
- List records = dao.getModels();
- String pageStr = request.getParameter("page");
- int currentPage = 1;
- if (pageStr != null)
- currentPage = Integer.parseInt(pageStr);
- PageUtil pUtil = new PageUtil(10, records.size(), currentPage);
- currentPage = pUtil.getCurrentPage();
- %>
下面的代码是放在变量的上面
- <%
- for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
- PublisherModel model = (PublisherModel) records.get(i);
out.print("<TD>"+model.getA()+"</TD>");
out.print("<TD>"+model.getB()+"</TD>");
- %>
- 中间是显示的代码
- <%}%>
----------这个是结尾的
- <tr><td width=100% bgcolor="#eeeeee" colspan=4 align="center">
- 记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%>
- /<%=pUtil.getPageCount()%>每页显示<%=pUtil.getPageSize()%>条
- <a href="showTodolist.jsp?page=1">首页</a>
- <a href="showTodolist.jsp?page=<%=(currentPage - 1)%>">上页</a>
- <a href="showTodolist.jsp?page=<%=(currentPage + 1)%>">下页</a>
- <a href="showTodolist.jsp?page=<%=pUtil.getPageCount()%>">末页</a>
- </td></tr>
jsp分页代码之pageUtil类的更多相关文章
- JSP 分页代码
jsp 分页模板 后台分页代码: 说明: 在 com.zc.domain 包下: PageBean.java 文件 package cn.itcast.customer.domain; impor ...
- jsp+oracle 排序分页+Pageutil类
1.rownum和排序 Oracle中的rownum的是在取数据的时候产生的序号,所以想对指定排序的数据去指定的rowmun行数据就必须注意了. SQL> select rownum ,id,n ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- 分页技巧_改进JSP页面中的公共分页代码_实现分页时可以有自定义的过滤与排序条件
分页技巧__改进JSP页面中的公共分页代码 自定义过滤条件问题 只有一个url地址不一样写了很多行代码 public>>pageView.jspf添加 分页技巧__实现分页时可以有自定义的 ...
- 第一次做的jsp分页,详细代码。。。。
自己学jsp也有了一段时间,而且自己现在上的课是java web现在雪儿基础做了一个最简单的jsp页面,代码都放在一个页面,自己准备在改进,一步步来,这里的代码可能不是很完美,没事,下面接下来会有大概 ...
- JSP分页显示实例(基于Bootstrap)
首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...
- 转:JSP 分页显示数据 (Oracle)
JSP 分页显示数据 (Oracle) 标签: Oracle分页JSP分页 2013-11-19 20:40 3598人阅读 评论(1) 收藏 举报 分类: Web(11) 版权声明:本文为博主原 ...
- JSP 分页显示数据 (Oracle)
要实现分页,首先我们要做的就是如何来编写SQL语句,网上也有很多,大家可以搜一下.在这里,我们使用一种比较常用的方式来编写SQL语句.代码如下: ----分页显示 select * from (sel ...
- 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页
Service: /** * @Description: 1.保存定区 2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...
随机推荐
- Old Calculator
描述 szhhck have an old calculator bought 5 years ago.he find the old machine can just calculate expre ...
- vs2010 调试C++程序 快捷键
命令名 快捷键 说明 调试.应用代码更改 Alt + F10 启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改. 调试.自动窗口 Ctrl + D,Ctrl + A 显示“ ...
- spring+hibernate+struts整合(2)
spring和struts2的整合 1:配置Web.xml文件 <filter> <filter-name>struts2</filter-name> <fi ...
- java+mysql实现保存图片到数据库,以及读取数据库存储的图片
一:建表 二:获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: /** * */ package c ...
- MySQL 更改默认编码为 utf8 (转)
转自blog.sina.com.cn/s/blog_4c451e0e0100vefm.html 1.打开MySQL安装目录找到 my.ini,如:C:\Program Files\MySQL\My ...
- [改善Java代码]频繁插入和删除时使用LinkedList
一.分析 前面有文章分析了列表的表里方式,也就是“读”的操作.本文将介绍表的“写”操作:即插入.删除.修改动作. 二.场景 1.插入元素 列表中我们使用最多的是ArrayList,下面看看他的插入(a ...
- 【转】istringstream、ostringstream、stringstream 类介绍 .
http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html 好吧,懒死我算了
- Linux 根文件系统的制作
一.建立根文件系统目录与文件 1. 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var ...
- linux信息查找
问题: 1. 当使用一台linux机器的时候,常常需要确认当前所用操作系统的版本信息,内核信息等, 操作系统的版本信息可以通过以下命令完成,比如:lsb_release -a:cat /etc/iss ...
- hdoj1423 最长上升公共子序列
hdoj1423 题目分析: 两个数组a[n1] , b[n2], 求最长上升公共子序列. 我们可用一维存储 f[i] 表示 b 数组以 j 结尾, 与 a[] 数组构成的最长公共上升子序列. 对数组 ...