我无法确定如何在维护用于查找结果的搜索条件的同时在页面之间切换页面的分页搜索结果。我有一个带有一个表单的页面,其中包含多个搜索条件的输入字段和一个用于根据提供的条件检索查询结果的按钮。在表格下方是一个显示结果的表格和一个分页栏,用于选择要在表格中显示哪一页数据。通过页码和尺寸按照标准请求数据是完美的,并且分页栏也已经工作。他们唯一的问题是,使用提交按钮将搜索条件从表单传递给控制器,然后当点击分页条链接切换页面时,搜索条件将被传递给控制器,因为当表单不被重新提交时在分页链接中使用相同的控制器方法。基本上,无论何时我使用分页链接,我都会切换页面,但是所有搜索条件都会丢失,因此我最终会在没有应用搜索条件的情况下对所有结果进行分页。如何使用分页链接切换页面时如何保留搜索条件?使用搜索标准对查询结果进行分页
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