怎么在Java項(xiàng)目中實(shí)現(xiàn)一個(gè)分頁(yè)功能?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供臨海網(wǎng)站建設(shè)、臨海做網(wǎng)站、臨海網(wǎng)站設(shè)計(jì)、臨海網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、臨海企業(yè)網(wǎng)站模板建站服務(wù),十年臨海做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
分頁(yè)對(duì)象
public class PageUtils implements Serializable { /** * */ private static final long serialVersionUID = -5247614532234782640L; public final static String PAGE = "page"; public final static String PAGE_NO = "pageno"; public final static String PAGE_SIZE = "pagesize"; private long pageSize=10;//每頁(yè)顯示記錄數(shù) private long firstResult=0;//當(dāng)頁(yè)第一條記錄號(hào) private long totalCount;//總記錄數(shù) private long totalPage;//總頁(yè)碼 private long pageNo=1;//當(dāng)前頁(yè)碼 private List<?> sumData;//此集合可用來(lái)保存 合計(jì)數(shù)據(jù) private List<?> data;//查詢結(jié)果 public long getPageSize() { return pageSize; } public void setPageSize(long pageSize) { this.pageSize = pageSize; } public long getFirstResult() { if(pageNo>0){ firstResult=pageSize * (pageNo -1); }else{ firstResult = 0; } return firstResult; } public long getNextPageResult(){ if(pageNo>0){ return pageSize*(pageNo-1); }else{ return pageNo; } } public void setFirstResult(long firstResult) { this.firstResult = firstResult; } public long getTotalCount() { return totalCount; } public void setTotalCount(long totalCount) { this.totalCount = totalCount; totalPage = this.totalCount/pageSize; if (totalPage == 0 || totalCount % pageSize != 0) { totalPage++; } } public long getTotalPage() { return totalPage; } public void setTotalPage(long totalPage) { this.totalPage = totalPage; } public long getPageNo() { return pageNo; } public void setPageNo(long pageNo) { this.pageNo = pageNo; } public List<?> getData() { return data; } public void setData(List<?> data) { this.data = data; } /** * 是否第一頁(yè) */ public boolean isFirstPage() { return pageNo <= 1; } /** * 是否最后一頁(yè) */ public boolean isLastPage() { return pageNo >= getTotalPage(); } /** * 下一頁(yè)頁(yè)碼 */ public long getNextPage() { if (isLastPage()) { return pageNo; } else { return pageNo + 1; } } /** * 上一頁(yè)頁(yè)碼 */ public long getPrePage() { if (isFirstPage()) { return pageNo; } else { return pageNo - 1; } } public PageUtils(){} public PageUtils(long pageNo){ this.pageNo=pageNo; } public PageUtils(long pageNo,long pageSize){ this.pageNo=pageNo; this.pageSize = pageSize; } public List<?> getSumData() { return sumData; } public void setSumData(List<?> sumData) { this.sumData = sumData; } }
查詢的數(shù)據(jù)實(shí)體
在查詢的實(shí)體里添加頁(yè)碼和每頁(yè)顯示條數(shù)參數(shù);
private int pageSize; //每頁(yè)顯示的條數(shù) private int pageNo; //當(dāng)前頁(yè)碼 public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; }
控制層Controller
@RequestMapping("/list") public String list(Model model,ChannelValueInfoView input) { // input:傳入的參數(shù)為對(duì)象 PageUtils page=new PageUtils(); //如果傳入的當(dāng)前條數(shù)為0,則賦予值(首次查詢不帶參); if(input.getPageSize()==0){ //當(dāng)前頁(yè)碼第一頁(yè) input.setPageNo(1); //每頁(yè)顯示條數(shù),當(dāng)前每頁(yè)顯示10條數(shù)據(jù); input.setPageSize(10); } page.setPageNo(input.getPageNo()); page.setPageSize(input.getPageSize()); //核心分頁(yè)代碼 PageHelper p=new PageHelper(); Page<ChannelValueInfoList> l=p.startPage(input.getPageNo(),input.getPageSize()); //緊跟著的第一個(gè)select查詢將會(huì)被分頁(yè) channelValueService.getChannelValueInfoViewList(input); model.addAttribute("input", input); page.setData(l); page.setTotalCount(l.getTotal()); model.addAttribute("page", page); return "index"; }
頁(yè)面處理
//循環(huán)穿過(guò)來(lái)的PAGE.data數(shù)據(jù) <tr th:each="ts : ${page.data}"> <td th:text="${ts.channelValueName}"></td> ---------- <form id="content_form" action="/channelValue/list" method="post" > <div> 總數(shù):<span id="totalCount" th:text="${page.totalCount}">0</span> </div> <ul class="pagination"> <li class="disabled"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onFirst()">首頁(yè)</a> </li> <li class="disabled"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onPre()"><</a> </li> <li class="active"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <span id="beginRow" th:text="${page.pageNo}">0</span> </a> </li> <li class="disabled"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onNext()">></a> </li> <li class="disabled"> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="onLast()">尾頁(yè)</a> </li> </ul> </for m> ---------- <script> function onFirst() { onList(1); } function onPre() { var beginRow = parseInt($('#beginRow').html()); if (beginRow - 1 > 0) { onList(beginRow - 1); } } function onNext() { var beginRow = parseInt($('#beginRow').html()); var totalCount = parseInt($('#totalCount').html()); var pageSize = parseInt($('#pageSize').val()); if (parseInt(totalCount / pageSize + 1) > beginRow + 1) { onList(beginRow+1); } } function onLast() { var totalCount = parseInt($('#totalCount').html()); var pageSize = parseInt($('#pageSize').val()); onList(parseInt(totalCount / pageSize + 1) - 1); } function onList(pageNo) { if (pageNo == 0) pageNo = 1; $('#pageNo').val(pageNo); $("#content_form").submit(); } </script>
關(guān)于怎么在Java項(xiàng)目中實(shí)現(xiàn)一個(gè)分頁(yè)功能問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享題目:怎么在Java項(xiàng)目中實(shí)現(xiàn)一個(gè)分頁(yè)功能
分享網(wǎng)址:http://www.muchs.cn/article20/ijchjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、動(dòng)態(tài)網(wǎng)站、做網(wǎng)站、全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)