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 ...
随机推荐
- 论Spark高手是怎样炼成的
SPARK J大数据的处理怎么能变快一点,答案是请用spark,因为它是基于内存的,可以有效减少数据的落地次数.Spark性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计 ...
- 使用maven时报错Dynamic Web Module 3.1 requires Java 1.7 or newe
解决方法: 1. 在eclipse 构建 web中关于java版本有三处需要修改统一. (1)在 Java Build Path的libraries中修改 ...
- CSS设置小技巧
水平居中 对于元素的水平居中,有三种情况: 行内元素(文字.图片等):text-align: center; 定宽块状元素(有设置宽度的block元素):margin: 0 auto; 不定宽块状元素 ...
- 英语发音规则---A字母
英语发音规则---A字母 一.总结 一句话总结:本文所有//的音标为英音音标,[]的音标为美音音标 1.A在开音节中发/eɪ/ [e]? age /eɪdʒ/ [edʒ] 年龄 ape /eɪp/ [ ...
- Java中异常的捕获顺序(多个catch)
import java.io.IOException; public class ExceptionTryCatchTest { public void doSomething() throws IO ...
- TCP/UDP编程步骤和区别
一. 概念解析 套接字:一种特殊的文件描述符.一头指向套接字地址(用户),一头指向套接字结构(内核). 套接字结构:由内核维持的一种数据结构,可通过套接字来操作. 套接字地址:ip和port. 二. ...
- [MYSQL]时间毫秒数转换
java中常用bigint字段保存时间,通常将时间保存为一大串数字,每次取出需要在程序里转换,有时候程序里不方便,可以使用MYSQL自带的函数FROM_UNIXTIME(unix_timestamp, ...
- 条款19:定义class就相当于定义一个个的内置类型
下面的条框应该是谨记的: 1. 新的type应该如何创建与销毁 2. 对象的初始化与赋值应该有什么样的区别 3. 新type的对象如果被pass-by-value,有什么影响? 4. 什么事新type ...
- 【数据库】python访问mysql
import MySQLdb 所有的数据库遵循相同的python database API 需要建立connection对象连接数据库,之后建立cursor对象处理数据. conn = MySQLdb ...
- jQuery的width()、innerWidth()、outerWidth()方法
width(): 不包括元素的外边距(margin).内边距(padding).边框(border)等部分的宽度. innerWidth(): 包括元素的内边距(padding),但不包括外边距(ma ...