java分页_JavaWeb学习-案例练习-图书管理后台- 9 -分页操

前面一篇完成了多条件的查询,这篇开始学习分页,很多网页是默认显示20条数据,想看更多数据,就通过点击下一页的方式实现。这篇就来模拟这个分页实现过程。

1. 项目环境准备

之前我们实现的都是图书管理后台功能,现在分页,我们在前端页面,所以我把素材中product_list.jsp和ad文件夹拷贝到Eclipse中的WebContent的目录下。product_list.jsp就是我们要实现分页的前端页面。

d03431c73c0e738fd0b41804f876562e.png

上图是项目工程结构,全部代码放在了github上。

https://github.com/Anthonyliu86/BookManagement_JavawebDemo

2. 分页思路分析

当前product_list的效果是这样,布局是采用表格布局,一行显示四本书,也就是一个tr里面有4个td。

c2c9b225618d3a2ad75944d0672b9a4a.png

为了我们简单,这里我们只用一行,每行显示4本书,想看第五本书,必须点击下一页菜单。所以,我们在product_list.jsp中这个表格,只留下一个tr,第一行也只留下一个td,也就是一本书,最后效果是这样的

45ab352e0a049aff0b62ef9d89cc3841.png

下图是所有层交互的思路。

9269c1659ee74ed99e74f306697a23a1.png

3. 分页代码实现过程

在点击下一页之后,这个动作需要跳转到一个servlet,我们先来创建这个servlet,叫pageServlet。

3.1 创建一个PageServlet.java

当前这个servlet代码是空,这个文件主要写设置每页显示个数,和当前页id获取,然后返回一个页面对象。所以,我们先创建一个关于页面的Bean类。

3.2 创建PageBean.java

在domian包下创建一个PageBean.java文件,写入下面代码。

import java.util.List; public class PageBean { private int pageSize; private int currentPage; private int count; private int totalPage; private List books;  public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public int getCount() { return count; } public void setCount(int count) { this.count = count; }

3.3 Dao层代码

在BookDao这个接口中新增两个方法,一个是求总记录数,第二个是查找分页数据

/** * 得到总记录数 * @return * @throws SQLException */ public int count() throws SQLException;  /** * 查找分页数据 * @param currentPage * @param pageSize * @return * @throws SQLException */ public List findBooks(int currentPage, int pageSize)throws SQLException;

然后在BookDaoImpl.java添加这两个方法的具体实现代码。

public int count() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource()); long l = (Long)qr.query("select count(*) from book
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值