JavaWeb中分页的实现
Posted zishang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb中分页的实现相关的知识,希望对你有一定的参考价值。
需要用到一个PageBean对象来实现
1.PageBean包含的属性
* totalCount 数据库中的总条目数
* rows 每页显示的行数
* totalPage 总分页数 通过该表达式来确定
totalPage = (totalCount%rows == 0)?totalCount/rows:totalCount/rows+1
* currentPage 当前页面页码
* List 用来接收数据库返回的list
2.上述属性获取
* totalCount:select count(*) from user
* rows: 从前端获取 或者登陆的时候自己确定 从客户端获取
* totalPage :totalPage = (totalCount%rows == 0)?totalCount/rows:totalCount/rows+1
* currentPage : 从分页标签的value中获取
* List :public List<User> findByPage(int start, int rows)
* start= (currentPage-1)*rows
* sql="select * from user limit ?, ?"
3.步骤:
1.登录时设置 start=1,rows为想要份的行数
2.跳转到findByPageServlet?start=1&rows=xx;
3.调用 Service层的findUserByPage(int currentPage,int rows);返回PageBean对象 将数据显示到前端
* findUserByPage(int currentPage,int rows){
1.int currentPage,int rows从前端传来
2.计算totalCount
3.计算totalPage
4.start为start= (currentPage-1)*rows
5. List<User> list = dao.findByPage(start,rows);
6.上述属性封装到PageBean 传给前端
7.显示
}
4.前端的细节
//用于判断是否是第一页 是第一页 就不能继续点击pre了
<c:if test="${pg.currentPage==1}">
<li class="disabled">
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
</c:if>
//用于显示点击那一页那一页码按钮加深
<c:if test="${pg.currentPage==i}">
<li class="active"><a href="/findByPageServlet?currentpage=${i}&rows=3" >${i}</a></li>
</c:if>
以上是关于JavaWeb中分页的实现的主要内容,如果未能解决你的问题,请参考以下文章