#ページネーションの検索情報引き継ぎ
DBより検索結果を10件ずつ表示してそれを超えたら次のページへということを実装しているのですが、
元の10件を検索した後に次の検索結果ボタンを押すとエラーが発生する状態です。
原因は検索情報が2ページ目では引き継がれていない。この場合ですと(region,subject)とは
わかっているのですがこの検索情報は次ページへどのように引き継ぐのが適切なのでしょうか?
アドバイスをいただけると幸いです。よろしくお願いいたします。
------追記-------
未だ解決できていません。
何かアドバイスをいただけるとありがたいです。
Spring Boot 2.0
java
1@RequestMapping("top") 2 3 @GetMapping(value="top/search") 4 String showSearchResult(Model model,Pageable pageable, 5 @RequestParam Subject subject, 6 @RequestParam Region region) { 7 //教師の検索 8 Page<Teacher> teacherPage = teacherService.searchTeacher(subject,region,pageable); 9 model.addAttribute("page",teacherPage); 10 model.addAttribute("teacherList",teacherPage.getContent()); 11 model.addAttribute("url","/top/search"); 12 13 return "top/search"; 14 } 15}
html
1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org" 3 xmlns:sec="http://www.thymeleaf.org/extras/spring-security"> 4<head> 5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6<title>Insert title here</title> 7</head> 8<body> 9 <h1>検索結果</h1> 10 <p th:each="teacher:${teacherList}" th:text="${teacher.user.userName}"></p> 11 <div th:fragment='paginationbar'> 12 <ul> 13 <li th:class="${page.first} ? 'disabled':''" style="display:inline"> 14 <span th:if="${page.first}">←先頭</span> 15 <a th:if="${not page.first}" th:href="@{${url}(page=0)}">←先頭</a> 16 </li> 17 <li th:each='i : ${#numbers.sequence(0, page.totalPages-1)}' th:class="(${i}==${page.number})? 'active' : ''" style="display:inline"> 18 <span th:if='${i}==${page.number}' th:text='${i+1}'>1</span> 19 <a th:if='${i}!=${page.number}' th:href="@{${url}(page=${i})}"> 20 <span th:text='${i+1}'>1</span> 21 </a> 22 </li> 23 <li th:class="${page.last} ? 'disabled':''" style="display:inline"> 24 <span th:if="${page.last}">末尾➝</span> 25 <a th:if="${not page.last}" th:href="@{${url}(page=(${page.totalPages}-1))}">末尾➝</a> 26 </li> 27 </ul> 28 </div> 29 30</body> 31</html>
error
1Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required Subject parameter 'subject' is not present] 2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/16 02:12