3.jsp页面分页功能(首页、下一页、上一页、末页)
思路:前端負(fù)責(zé)收集分頁(yè)信息與篩選條件,后端可以通過(guò)分頁(yè)信息的頁(yè)碼+每頁(yè)多少條+篩選條件查到具體的51-100條數(shù)據(jù)。
每次的查詢,下一頁(yè),末頁(yè)等操作其實(shí)是更新分頁(yè)信息與篩選條件罷了
①定義每頁(yè)條數(shù)10條,有一個(gè)固定的查詢方法,參數(shù)為分頁(yè)信息或是篩選條件,如果都沒(méi)有默認(rèn)從第一頁(yè)查詢。
int pageNo = 1; //頁(yè)碼 int pageNum = 10; //條數(shù) if(request.getParameter("pageNo") != null && !"".equals(request.getParameter("pageNo"))){pageNo = Integer.parseInt(request.getParameter("pageNo"));}②不管是條件查詢,還是點(diǎn)擊下一頁(yè),重新調(diào)用本頁(yè)面,重新獲取分頁(yè)信息或是篩選條件,再進(jìn)行數(shù)據(jù)填充
archiveInfo.setTitle(request.getParameter("title")!=null?request.getParameter("title"):""); archiveInfo.setClientCode(request.getParameter("clientCode")!=null?request.getParameter("clientCode"):""); archiveInfo.setArchiveNo(request.getParameter("archiveNo")!=null?request.getParameter("archiveNo"):""); archiveInfo.setCharger(request.getParameter("charger")!=null?request.getParameter("charger"):""); archiveInfo.setFileNo(request.getParameter("fileNo")!=null?request.getParameter("fileNo"):""); submitArchiveList = dao.getSubmitArchiveList2(【當(dāng)前頁(yè)碼,每頁(yè)條數(shù)】, 篩選條件archiveInfo);③點(diǎn)擊下一頁(yè),上一頁(yè),末頁(yè),首頁(yè)時(shí)觸發(fā)一個(gè)傳遞當(dāng)前頁(yè)碼的函數(shù),函數(shù)再submt本頁(yè)面,每次提交到本頁(yè)面,就會(huì)觸發(fā)固定的查詢方法,計(jì)算分頁(yè)信息或是篩選條件,實(shí)現(xiàn)傳遞了頁(yè)碼的查詢展示
<script> //普通固定的提交本頁(yè)面,重新調(diào)查詢方法,篩選條件隨著table表格已經(jīng)提交了,在本頁(yè)面也通過(guò)request獲取了條件參數(shù) function query(){ document.submitPigeonholeFrm.action="submitArchiveList.jsp";document.submitPigeonholeFrm.submit(); }//下一頁(yè)按鈕,url也是提交給本頁(yè)面,但還包含了一個(gè)頁(yè)碼pageNo function go_page(url){submitPigeonholeFrm.action=url;submitPigeonholeFrm.submit(); } </script> < !-- 提交歸檔列表 第 1 頁(yè) 共 63 頁(yè) 記錄共 3136 條 首頁(yè) 上頁(yè) 下頁(yè) 末頁(yè) --> <form id="submitPigeonholeFrm" name="submitPigeonholeFrm" action="" method="post"> <table border="0" width="100%" style="margin-top: 10px;"><tr><td width="200" style="border: 0px;padding-left: 15px;">提交歸檔列表</td><td align="right" style="border: 0;padding-right: 15px;"><span class="text">第<%=pageNo %>頁(yè) 共 <%=pageInfo.iTotalPage%> 頁(yè) 記錄共 <%=pageInfo.iTotalRow%> 條 </span><%if(pageNo>1){%> <a href="javascript:void(0)" onclick="go_page('submitArchiveList.jsp?pageNo=1')">首頁(yè)</a><%}else{%><span class="text">首頁(yè)</span><%}%><%if (pageNo > 1) {nextPage = pageNo;%> <a href="javascript:void(0)"onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(--nextPage) %>')">上頁(yè) </a> <%} else {%> <span class="text">上頁(yè)</span> <%}%> <%if (pageNo < pageInfo.iTotalPage) {nextPage = pageNo;%> <a href="javascript:void(0)"onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(++nextPage) %>')">下頁(yè)</a> <%} else {%> <span class="text">下頁(yè)</span> <%}%> <%if (pageNo != pageInfo.iTotalPage && pageInfo.iTotalPage != 0) {%> <a href="javascript:void(0)"onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(pageInfo.iTotalPage) %>')">末頁(yè)</a> <%} else {%> <span class="text"> 末頁(yè)</span> <%}%></td></tr> </table>展示數(shù)據(jù)的序號(hào)時(shí),根據(jù)頁(yè)碼可以計(jì)算當(dāng)前頁(yè)是第多少條數(shù)據(jù),每展示一條數(shù)據(jù),num++
int num = (pageNo-1)*p.iPageCountUse+1; //當(dāng)前頁(yè)的第num條數(shù)據(jù),通過(guò)頁(yè)碼和每頁(yè)條數(shù)就可算出來(lái) <td align="center"><%=num++ %></td> //在循環(huán)遍歷時(shí),展示一條數(shù)據(jù),num++總結(jié)
以上是生活随笔為你收集整理的3.jsp页面分页功能(首页、下一页、上一页、末页)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: stm32F1使用SD卡实现IAP
- 下一篇: 【BZOJ-2435】道路修建