質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

1711閲覧

Spring Boot ページネーションに関して

encho

総合スコア182

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

1グッド

1クリップ

投稿2020/03/12 08:48

編集2020/03/13 09:35

#ページネーションの検索情報引き継ぎ
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
s.k👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

リンクのth:href="@{${url}(page=(${page.totalPages}-1))}"部分に
subject,regionのパラメータを持たせることで
検索情報のパラメータを保ったままページネーションが可能になりました。

投稿2020/03/14 00:10

encho

総合スコア182

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

encho

2020/03/16 02:12

あくまでGET通信の場合で、POSTになるとまた方法は変わってくると思います。 URLにパラメータが乗っからないので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問