1.集合法
通过一次性从数据库中取出数据放到一个集合中,由前端页面提供第几页,一页有几行数据来进行在集合内的截取操作,截取之后放入集合中展示在页面之中。
实现方式:
subList()方法进行截取
优点:简单,易用
缺点:效率低,每次翻页都需要查询全部
实现中出现的问题解释:
ResultSet是一个接口,它不能作为返回值使用,如果要存储它之中的值,最好把数据存储到集合之中 。
2.看到下面的代码我有点蒙圈,为什么可以这样;
解释就是我们是通过转发的方式到jsp页面中去的,所以两个相邻页面的request对象共享,这样就保证了我们在翻页的时候不管是点击首页还是末尾页都可以从容跳转。
核心代码:
servlet中的代码
request.setAttribute("curPage",page);
request.setAttribute("prePage",page>1?page-1:page);
request.setAttribute("nextPage",totalPage>page?page+1:totalPage);
request.setAttribute("totalPage",totalPage);
前端
<form method="post" action="LookServlet" style="display: inline">
<input type="hidden" name="page" value="${curPage }">
<input type="hidden" name="title" value="${title}">
<input type="submit" value="首页" class="btn">
</form>
<form method="post" action="LookServlet" style="display: inline">
<input type="hidden" name="page" value="${prePage}">
<input type="hidden" name="title" value="${title}">
<input type="submit" value="上一页" class="btn">
</form>
<form method="post" action="LookServlet" style="display: inline">
<input type="hidden" name="page" value="${nextPage}">
<input type="hidden" name="title" value="${title}">
<input type="submit" value="下一页" class="btn">
</form>
<form method="post" action="LookServlet" style="display: inline">
<input type="hidden" name="page" value="${totalPage}">
<input type="hidden" name="title" value="${title}">
<input type="submit" value="尾页" class="btn">
</form>
第${curPage}页/共${totalPage}页