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


関連記事

no image

prepareステートメントの挙動について調べてみた

調べるきっかけ PHPでSQLをセキュアに記述する方法としてprepareステートメントが推奨されているが、なぜなのかがわからず、挙動を調べれば自分なりに納得のいく答えがでるのではないかと思ったため。 …

【Java入門】クラスの基本

概要 以前、クラスとインスタンスの違いでクラスについて簡単に触れました。 ここではクラスの内容を掘り下げて説明していきます。   クラスの構成 クラスの基本構成は以下の3つです。 ・フィールド  :ク …

Springでバリデーションがimportされていないときの対処法

状況 SpringF/Wでバリデーションを実装したいが、@NotNullや@Minといったアノテーションが使えない。 @NotNullを使おうとすると、import com.sun.istack.No …

正規表現で複数の箇所を入れ替える方法

複数の特定の箇所を入れ替えるテクニックです。 確認環境 Sakuraエディタ 置換方法 ここでは例として、:区切りの前後の文字列を入れ替えてみます。 置換前データ メニュー:AAA メニュー:BBB …

no image

【PHP】配列と連想配列と多次元配列の説明と使用例

配列とは? 1つの変数に複数の値を持つものです。 整数型や文字列型は1つの変数に1つの値を持ちますが、配列は同じようなデータの集まりを1つの変数に持つことができるようになっています。 配列には通常の添 …

記事を探す

SpringFramworkの良書

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

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