プログラミング 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


関連記事

【Laravel】SQLの確認はenableQueryLogを使う

SQLのデバッグのために、SQLとバインドされた値を確認したいことがあります。 その時に使える方法として、よく提示されるのは以下の2つです。 1.enableQueryLogメソッドとgetQuery …

Jacksonで日付がずれる場合、Timezone設定を直す

現象 JacksonでCSV出力する際、日付がズレて出力される。   原因 タイムゾーンの設定がTokyo/Asiaになっていない。   対策 application.proper …

elseを使わないことでパフォーマンスが下がる場合の対処法

  状況 前回記事(なぜelse、else ifを書かないようにすべきなのか?)のような ifのみで判定されており、それがfor文等の繰り返し処理の中にある場合は パフォーマンスが下がる。 …

【SpringBootチュートリアル】#3~ Index画面の作成

このチュートリアルでは、簡易な書籍管理システムを作っていきます。 まず最初にIndex画面を作成していきます。 HTML作成 以下の配下にindex.htmlを作成します。 配置先:プロジェクト(ここ …

no image

How to apply JavaScript fixes (PHP)

※This article (Japanese) is translated from Google (English). After editing JavaScript, it is the ac …

記事を探す

SpringFramworkの良書

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

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