プログラミング Java

【SpringBoot入門】#7~ 検索画面の作成

投稿日:2020年12月19日 更新日:

概要

書籍情報を検索するフォーム(検索フォーム)と検索結果を表示する画面(検索結果一覧)を作成します。
検索フォームと検索結果一覧はHTMLファイルを分けて作成しています。
分けることは必須ではなく、再利用性を高めるため工夫と考えて下さい。
 

遷移先を定義

ソースコード(Controller)

・Viewの配置先
 src/main/resources/templates/book/list.html
 赤字の部分が、return “book/list”;に対応しています。

検索フォームの作成

イメージ


 

ソースコード

・fragment化
 検索フォーム部分を「th:fragment=”search”」として、fragment(断片化)として定義しておきます。
 これは、検索一覧画面に埋め込むようにします。
 

検索結果一覧の作成

イメージ


共通ヘッダー、検索フォーム、検索結果一覧の構成になっています。

ソースコード

・fragmentの埋め込み
 共通ヘッダー:th:replace=”header::header”
 検索フォーム:th:replace=”book/search”

・画面操作上のエラー表示部
 th:text=”${error}”としておきます。
 ここは、後程実装する削除機能で使います。

・画面表示の制御
1.初期表示時は空欄
 それは、th:if=”${books}”とすることで、オブジェクトが渡されている場合のみ後続の処理をさせることで実現しています。

2.0件の場合
 th:if=”${books.size() == 0}”
 これにより、渡されたオブジェクトが0件である場合は、「検索結果は0件です。」と表示されます。

3.表示件数がある場合
 th:if=”${books.size() > 0}”
 検索結果が0件超過の場合に、後続の表示処理を実行させます。
 また、th:each=”book : ${books}” で繰り返し処理による表示処理を行います。
 eachでは拡張for文のように記述することができます。

・画面表示用のメソッド
 book.isbnFormat()
 book.priceCommaOf1000()
 book.publicationDateOfYyyymmdd()
 これらをBook.javaに追記しておくことで、画面側ではメソッドを呼び出すだけで済みます。
 (後続の、Book.javaへの追記を参照)

Book.javaへの追記

以下のメソッドを画面表示用に追記します。

 

まとめ

・検索条件をリクエストする検索フォームを作成する。
・検索結果を表示する一覧画面を作成する。
・検索結果一覧に表示する件数によって、表示内容を制御することができる。
・検索結果に表示するフォーマットを整形する場合、オブジェクトにメソッドを定義して利用することができる。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

junit, テスト

【JUnit5】基本的なAssertionまとめ

概要 JUnit5における基本的なAssertionをまとめました。 検証方法 等価性 値が等価であるかを検証するメソッドです。 以下はorg.junit.jupiter.api.Assertions …

【Java入門】Javaの開発環境を準備しよう!

概要 これからJavaの勉強をしようとする方向けにJavaの開発環境を準備する手順をご説明します。   環境構築 Eclipseのダウンロード IDE(統合開発環境)のEclipseをダウンロードしま …

CSV/TSVデータを作成するVBAツールを公開

【追記:2020年8月1日】 UTF-8(BOM無し)に対応しました。 業務でテスト用のCSVファイルを作成することがよくあるので、自分でツールを作成しました。 TSVにも対応しています。 基本仕様 …

【JdbcTemplate】IN句に値を入れて複数件取得する方法

JdbcTemplateでIN句に毎回異なる数の値をセットして、 複数のレコードを取得する場合は、「NamedParameterJdbcTemplate」で取得することができます。 コード例 [cra …

【Java】TreeSetの使い方(順序付けSet)

TreeSetの使い方 基本的な使い方はHashSetと同じなので、以下を参照下さい。 【Java】HashSetの使い方いろいろ TreeSetは何も指定せずにインスタンスを生成すると、Collec …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。