結果を見つけるために使用される検索条件を維持しながら、ページ設定された検索結果のページを切り替える方法がわかりません。私はいくつかの検索条件のための入力フィールドと提供された条件に基づいてクエリ結果を取得するためのボタンを持つフォームを持つ単一のページを持っています。フォームの下に結果を表示するテーブルと、テーブルに表示するデータのページを選択するページ区切りバーがあります。基準に合わせてページ番号とサイズでデータを要求していますが、ページ区切りバーも既に動作しています。検索基準は、送信ボタンを使用してフォームからコントローラに渡され、ページを切り替えるためにページ区切りバーのリンクをクリックすると、フォームが再送信されないのでコントローラが空になります。ページネーションリンクから同じコントローラメソッドを起動します。基本的には、ページ分割リンクを使用するたびにページを切り替えますが、すべての検索基準が失われるため、検索基準を適用せずにすべての結果をページ付けすることになります。ページネーションリンクでページを切り替える際に、どのように検索条件を維持できますか?検索条件による検索結果のページ付け
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";
}
スクリーンショット:私はちょうどに検索パスのベースURLを渡したhttps://i.stack.imgur.com/njJ3P.png当初
こんにちはあなたはいくつかの画面を添付してくださいすることができます参照のためのショット。 – Pradeep
最初の投稿の一番下にあるリンクの後ろにスクリーンショットを追加しました。 – user3569354
ページネーションの結果から、URLを使用して検索結果を渡すことができますか? &$ {page.url?searchRes = "+ value from pass}のような複数の値の場合は、リクエスト・パラメーター – Pradeep