普通分页笔记-----------------------
需要单独提出一个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获取总记录数之后,可以得到总页数
总记录数>01.总记录数%页大小==0 总页数=总记录数/页大小2.总记录数%页大小!==0 总页数=总记录数/页大小+1Dao层getTotalCount();
DaoImpl实现----------Service层
ServiceImpllistServlet------------------------------------------------
生成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>