普通分页笔记
普通分页笔记-----------------------
需要单独提出一个page.jsp页面
其他页面包含page.jsp这个页面
Bootstrap组件-分页
放入page.jsp
<nav aria-label="Page navigation">
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
新建一个PageUtil类
属性: 总记录数totalCount----sql从数据库获取
页大小pageSize----每页显示的条数,可以赋值
总页数pageCount
当前页pageIndex
获取总记录数之后,可以得到总页数
总记录数>0
1.总记录数%页大小==0 总页数=总记录数/页大小
2.总记录数%页大小!==0 总页数=总记录数/页大小+1
Dao层getTotalCount();
DaoImpl实现----------
Service层
ServiceImpl
listServlet------------------------------------------------
生成pageUtil对象
pageUtil util=new pageUtil ()
获取用户的输入pageIndex当前页
如果是第一进入,赋值 pageIndex=1
给总记录数赋值,调用Service.getAll,获得总记录数
调用Service层----------分页显示------------
service.getByPage(util)
ServiceImpl 实现
分页条件:
SELECT * FROM 表 LIMIT ,起始条? 页大小?
Sql:Select * From 表 LIMIT ?,?
起始条 = (pageIndex-1)* pageSize
==> =(util.getPageIndex()-1)*util.getPageSize()
将分页list集合和util保存到作用域
页面转发到前台主页面main.jsp
前台main.jsp显示分页-----------------
如果放在FORM表单一起提交,需要form增加隐藏域
<input type="hidden" name="pageIndex"存放变量,用户点击的页码值>
伪协议href="javascript:"进入当前的javascript脚本
<nav aria-label="Page navigation">
<ul class="pagination">
<li><a href="javascript:page(document.form[0],1)" aria-label="Previous">首页</a></li>
<li><a href="javascript:page(document.form[0],${pageUtil.pageIndex-1})" aria-label="Previous">上一页</a></li>
<li><a href="javascript:page(document.form[0],${pageUtil.pageIndex+1})" aria-label="Previous">下一页</a></li>
<li><a href="javascrip:page(document.form[0],pageTotalCount)">尾页</a></li>
<li>
</nav>
对应的javascript脚本
function page(form,pageIndex变量){
//获取form表单中的隐藏域,赋值
//form.pageIndex.value=pageIndex变量;
//form.submit();
window.location.href="/listServlet?pageIndex="+pageIndex变量,点击的值;
}
给添加条件if
<nav aria-label="Page navigation">
<ul class="pagination">
<c:if test="${pageUtil.pageIndex>1}">
<li><a href="javascript:page(1)" aria-label="Previous">首页</a></li>
<li><a href="javascript:page(${pageUtil.pageIndex-1})" aria-label="Previous">上一页</a></li>
</c:if>
<c:if test="${pageUtil.pageIndex<pageUtil.pageCount}">
<li><a href="javascript:page(${pageUtil.pageIndex+1})" aria-label="Previous">下一页</a></li>
<li><a href="javascrip:page(pageTotalCount)">尾页</a></li>
<li>
</c:if>
</nav>