jsp数据显示分页
从数据库获得数据就不写了,直接写如何进行分页,为了方便,把方法和实体类都写到一个java文件里面了
这只是一种简单的分页方法,肯能会有比较多的bug
这是java里的构造实体类和方法,
public class PageUtilServices { private int pageSize;//每页显示的条数
private int recordCount;//总共的条数
private int currentPage;//当前页面
//构造方法
public PageUtilServices(int pageSize, int recordCount, int currentPage) {
super();
this.pageSize = pageSize;
this.recordCount = recordCount;
this.currentPage = currentPage;
}
public PageUtilServices() {
super();
} //总页数
public int getPageCount() {
int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
int mod = recordCount % pageSize;//最后一页的条数
if(mod != 0)
size++;
return recordCount == 0 ? 1 : size;
}
//当前页的起始索引为0
public int getFromIndex() {
return (currentPage-1) * pageSize;
}
//当前页应展示的最后索引
public int getToIndex() {
return Math.min(recordCount, currentPage * pageSize);
} public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) { this.currentPage = currentPage;
}
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界面
<style type="text/css">
table{
margin: 0 auto;
border-collapse:collapse;
border-color: #666;
}
.lowstore{
color:red;
}
td{
text-align: center;
}
</style>
</head> <body>
<table border="1px">
<% BookInfoDao dao = new BookInfoDao();
List<Books> bookList = dao.showBooks();
String pageStr = request.getParameter("page");
int currentPage = 1;
if (pageStr==null){
currentPage = 1;
}else if(Integer.parseInt(pageStr)<=0){
currentPage = 1;
}else if(Integer.parseInt(pageStr)>bookList.size()/3){
currentPage =bookList.size()/3+1;
}else{
currentPage=Integer.parseInt(pageStr);
}
PageUtilServices pUtil = new PageUtilServices(3, bookList.size(), currentPage);
currentPage = pUtil.getCurrentPage(); BookInfoDao bd=new BookInfoDao();
//ArrayList<Books> books=bd.showBooks(); if(bookList.isEmpty()==false){ %> <tr bgcolor="#eeeeee" colspan=13 align="center" >
<td>编号</td>
<td>名称</td>
<td>作者</td>
<td>价格</td>
<td>发布日期</td>
<td>库存</td>
<td>操作</td>
<td>修改</td>
<td>入库</td>
<td>出库</td>
<td>评论</td>
<td>查看评论</td>
<td>购买图书</td>
</tr>
<% SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
//ArrayList<Books> bookList=bd.showBooks();
%>
<a href="addbooks.jsp">添加图书</a><br/>
<a href="searchbook.jsp">查找图书</a><br/>
<a href="userlist.jsp?id=3">查看用户</a><br/>
<a href="login.jsp">返回登录</a> <%
for (int i = pUtil.getFromIndex(); i < pUtil.getToIndex(); i++) {
Books book = bookList.get(i); %>
<tr class=<%=bookList.get(i).getReserve()<10?"lowstore":""%>>
<td><%=bookList.get(i).getBookId() %></td>
<td><%=bookList.get(i).getBookName() %></td>
<td><%=bookList.get(i).getAuther() %></td>
<td><%=bookList.get(i).getPrice() %></td>
<td><%=sf.format(bookList.get(i).getBookTime()) %></td>
<td><%=bookList.get(i).getReserve() %></td>
<td><a href="servlet/do_bookdelServlet?id=<%=bookList.get(i).getBookId() %>">删除</a></td>
<td><a href="servlet/do_updatebookServlet?id=<%=bookList.get(i).getBookId() %>">修改</a></td>
<td><a href="servlet/do_inbooksServlet?id=<%=bookList.get(i).getBookId() %>">入库</a></td>
<td><a href="servlet/do_outbooksServlet?id=<%=bookList.get(i).getBookId() %>">出库</a></td>
<td><a href="addcomment.jsp?id=<%=bookList.get(i).getBookId() %>">评论</a></td>
<td><a href="servlet/do_showcomServlet?id=<%=bookList.get(i).getBookId() %>">查看评论</a></td>
<td><a href="servlet/do_sellbookServlet?id=<%=bookList.get(i).getBookId() %>">购买</a></td>
</tr>
<% }
}else{
%>
<tr>
<td>对不起,没有图书收录,请添加!</td>
</tr>
<a href="addbooks.jsp">添加</a><br/>
<a href="login.jsp">返回登录</a>
<% }
%>
<tr><td bgcolor="#eeeeee" colspan=13 align="center">
记录总数<%=pUtil.getRecordCount()%>条 当前页/总页数<%=currentPage%>
/<%=pUtil.getPageCount()%> 每页显示<%=pUtil.getPageSize()%>条
<a href="booklist.jsp?page=1">首页</a>
<a href="booklist.jsp?page=<%=(currentPage - 1)%>">上页</a>
<a href="booklist.jsp?page=<%=(currentPage + 1)%>">下页</a>
<a href="booklist.jsp?page=<%=pUtil.getPageCount()%>">末页</a>
</td></tr> </table> </body>
jsp数据显示分页的更多相关文章
- jsp+servlet分页查询
分页查询 减少服务器内存开销 提高用户体验 效果图 思绪图 分页显示Bean文件代码 package cn.ytmj.findlist.domain; import java.util.List; / ...
- 用Hibernate和Struts2+jsp实现分页查询、修改删除
1.首先用get的方法传递一个页数过去 2.通过Struts2跳转到Action 3.通过request接受主页面index传过的页数,此时页数是1, 然后调用service层的方法获取DAO层分页查 ...
- JSP实现分页功能
分页须知知识点: (1)JDBC2.0的可滚动结果集. (2)HTTP GET请求. 一.可滚动结果集 Connection con = DriverManager.getConnection( ...
- javabean+servlet+jsp实现分页
前端实现用ligerUI实现分页,感觉用框架确实简单,闲着无聊,模拟着liger的分页界面实现了一遍(只要是功能,样式什么无视) 这里用基础的三层架构+servlet+jsp实现,思路很简单,把所有分 ...
- Servlet+jsp的分页案例
查询的分页,在web中经常用到.一般,分页要维护的信息很多,我们把这些相关的信息,分装到一个类中,PageBean.具体如下: package cn.itcast.utils; import java ...
- JSP入门 分页
<div> <% Integer pageNo = (Integer) request.getAttribute("pageNo"); ...
- jsp假分页
假分页:从数据库中取出所有的数据,然后分页在界面上显示.访问一次数据库,但由于选择的数据量比较大,所以第一次花费时间比较长,但之后每一页的显示都是直接.快速的,避免对数据库的多次访问. 真分页:确定要 ...
- JSP页面分页显示数据
效果如上图所示!最多显示10条:完整jsp和后台代码如下: <%@ page contentType="text/html;charset=UTF-8" %> < ...
- JSP的分页技术
在实际应用中,如果从数据库中查询的记录特别的多,甚至超过了显示屏的显示范围,这个时候可将结果进行分页显示. 假设总记录数为intRowCount,每页显示的数量为inPageSize,总页数为intP ...
随机推荐
- Linux命令详解-cd
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. ...
- Oracle DBLink连接数过多的问题(Ora-02020)
前不久开发人员编译存储时报ORA -02020 错,如下是解决方案步骤. 报错全信息: Error:OR A -04052在查: 找远程对象 NIP.PB_PERADDRESSLIST@DB_NI ...
- Mac PyCharm专业版破解
1. 先在PyCharm官网:http://www.https://www.jetbrains.com/pycharm/,下载PyCharm专业版安装包 2. 安装PyCharm 3. 终端执行: s ...
- 漂亮的Html5网站
http://www.mrdoob.com/projects/chromeexperiments/ball-pool/
- UI- Layer的使用总结(附动画)
#pargma mark - Layer 1. 设置当前视图的背景颜色 self.view.backgroundColor = [UIColor lightGrayColor]; 2. 创建一个视图, ...
- Ruby on Rails入门——macOS 下搭建Ruby Rails Web开发环境
这里只介绍具体的过程及遇到的问题和解决方案,有关概念性的知识请参考另一篇:Ruby Rails入门--windows下搭建Ruby Rails Web开发环境 macOS (我的版本是:10.12.3 ...
- Android Volley的基本用法
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...
- 进程(并发,并行) join start 进程池 (同步异步)
一.背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象.进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有 ...
- 【转载】取得系统中网卡MAC地址的三种方法
From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址 ...
- python学习之准备
快速入门:十分钟学会Pythonhttp://python.jobbole.com/43922/python框架http://www.elias.cn/Python/HomePage#toc14[Py ...