在使用Springboot+jpa分頁過程中發(fā)現(xiàn)一個(gè)問題矮男,springboot默認(rèn)的分頁頁碼從0頁開始移必,實(shí)際使用過程極不方便,網(wǎng)上查了資料特別麻煩昂灵,這邊采用的是前端采用正常從1開始的頁碼,后臺(tái)查詢使用前端頁碼-1舞萄,pageable默認(rèn)從0頁開始的查詢方式眨补。
具體方法如下
controlle編寫方法:根據(jù)前端傳遞頁碼-1方式,進(jìn)行后端分頁查詢
@RequestMapping(value="/commentList",method=RequestMethod.GET) public String blogList(Model model,Integer pageNum){ //后端判斷頁碼倒脓,為空賦值為1撑螺,有值擇-1查詢 if(pageNum==null){ pageNum=1; } Sort sort=new Sort(Sort.Direction.DESC,"id"); Pageable pageable=new PageRequest(pageNum-1,10,sort); model.addAttribute("page", commentService.listComment(pageable)); return "admin/comment"; }
serviceImpl編寫方法:
public Page<Comment> listComment(Pageable pageable) { return commentRepository.findAll(pageable); }
前端分頁展示:
<th colspan="9">共【<span th:text="${page.totalElements}"></span>】條記錄 <div class="ui right floated pagination menu"> //顯示首頁按鈕,默認(rèn)1 <a class="item" th:text="首頁" th:href="@{/admin/blogList(pageNum=1)}"></a> //顯示上一頁按鈕 <a class="icon item" th:href="@{/admin/blogList(pageNum=${page.number})}" th:unless="${page.first}" th:text="上一頁"></a> //顯示遍歷頁碼崎弃,從1開始 <th:block th:each="pageNum:${#numbers.sequence(1,page.totalPages)}"> //選中狀態(tài)添加激活效果 <a class="active item" th:if="${pageNum}==${page.number}+1" th:text="${pageNum}" th:href="@{/admin/blogList(pageNum=${pageNum})}"></a> <a class="item" th:if="${pageNum} ne ${page.number}+1" th:text="${pageNum}" th:href="@{/admin/blogList(pageNum=${pageNum})}"></a> </th:block> //下一頁按鈕 <a class="icon item" th:href="@{/admin/blogList(pageNum=${page.number}+2)}" th:unless="${page.last}" th:text="下一頁"></a> //末頁按鈕 <a class="item" th:text="末頁" th:href="@{/admin/blogList(pageNum=${page.totalPages})}"></a> </div> </th>
展示分頁效果圖: