我無法確定如何在維護用於查找結果的搜索條件的同時在頁面之間切換頁面的分頁搜索結果。我有一個帶有一個表單的頁面,其中包含多個搜索條件的輸入字段和一個用於根據提供的條件檢索查詢結果的按鈕。在表格下方是一個顯示結果的表格和一個分頁欄,用於選擇要在表格中顯示哪一頁數據。通過頁碼和尺寸按照標準請求數據是完美的,並且分頁欄也已經工作。他們唯一的問題是,使用提交按鈕將搜索條件從表單傳遞給控制器,然後當點擊分頁條鏈接切換頁面時,搜索條件將被傳遞給控制器,因爲當表單不被重新提交時在分頁鏈接中使用相同的控制器方法。基本上,無論何時我使用分頁鏈接,我都會切換頁面,但是所有搜索條件都會丟失,因此我最終會在沒有應用搜索條件的情況下對所有結果進行分頁。如何使用分頁鏈接切換頁面時如何保留搜索條件?使用搜索標準對查詢結果進行分頁
Thymeleaf分頁欄:
<!-- Pagination Bar -->
<div th:fragment='paginationbar' th:if="${results}">
<div>
<ul class='pagination pagination-centered'>
<li th:class="${page.firstPage}?'disabled':''">
<span th:if='${page.firstPage}'>← First</span>
<a th:if='${not page.firstPage}' th:href='@{${page.url}(page=0,size=${page.size})}'>← First</a>
</li>
<li th:class="${page.hasPreviousPage}? '' : 'disabled'">
<span th:if='${not page.hasPreviousPage}'>«</span>
<a th:if='${page.hasPreviousPage}' th:href='@{${page.url}(page=${page.currentNumber-2},size=${page.size})}' title='Go to previous page'>«</a>
</li>
<li th:each='item : ${page.items}' th:class="${item.current}? 'active' : ''">
<span th:if='${item.current}' th:text='${item.number}'>1</span>
<a th:if='${not item.current}' th:href='@{${page.url}(page=${item.number-1},size=${page.size})}'><span th:text='${item.number}'>1</span></a>
</li>
<li th:class="${page.hasNextPage}? '' : 'disabled'">
<span th:if='${not page.hasNextPage}'>»</span>
<a th:if='${page.hasNextPage}' th:href='@{${page.url}(page=${page.currentNumber},size=${page.size})}' title='Go to next page'>»</a>
</li>
<li th:class="${page.lastPage}? 'disabled' : ''">
<span th:if='${page.lastPage}'>Last →</span>
<a th:if='${not page.lastPage}' th:href='@{${page.url}(page=${page.totalPages - 1},size=${page.size})}'>Last →</a>
</li>
</ul>
</div>
</div>
控制器的方法:
@RequestMapping(value="https://stackoverflow.com/users/search", method=RequestMethod.GET)
public String search(Model model, @ModelAttribute("criteria") UserSearchCriteria criteria,
@RequestParam(name="page", required=false, defaultValue="0") Integer pageNumber, @RequestParam(name="size", required=false, defaultValue="10") Integer pageSize) {
Page<User> results = userService.findUsers(criteria, new PageRequest(pageNumber, pageSize));
PageWrapper<User> page = new PageWrapper<User>(results, "https://stackoverflow.com/users/search");
model.addAttribute("results", results);
model.addAttribute("page", page);
return "users";
}
與結果的搜索頁面截圖:https://i.stack.imgur.com/njJ3P.png
喜你能請附上幾屏拍攝以供參考。 – Pradeep
我剛剛在最初的帖子底部的鏈接後面添加了一個截圖。 – user3569354
從分頁結果你可以使用URL傳遞搜索結果?和&對於多個值,例如$ {page.url?searchRes =「+您需要傳遞的值},然後使用請求參數 – Pradeep