Spring MVC

Spring MVCでチェック処理を実装してみた

今回は、Spring MVC上で、チェック処理を行うプログラムを作成してみたので、そのサンプルプログラムを共有する。

前提条件

下記記事の実装が完了していること。

Spring MVCで複数画面をもつWEBアプリケーションを作成してみた今回は、Spring MVC上で、複数画面間で画面遷移するプログラムを作成してみたので、そのサンプルプログラムを共有する。 前提条...

また、下記サイトのプロパティエディタのインストールが完了していること。
https://www.saka-en.com/eclipse/eclipse-properties-editor-install/

流用ソース

Spring Bootを使っていた、下記記事のソースコードを流用するものとする。

Spring BootのWEB画面上でチェック処理を実装してみた(ソースコード編)今回も、引き続きチェック処理を含むそのサンプルプログラムについて共有する。前回は、サンプルプログラムの完成イメージについて記載していたが...

サンプルプログラムの実行結果

下記記事の「完成した画面イメージの共有」と同じ結果となる。ただし、初期表示画面へのアクセスパスは、「http://(サーバー名):(ポート番号)/(プロジェクト名)/」と読み替えること。

Spring BootのWEB画面上でチェック処理を実装してみた(完成イメージ編)今回は、以前作成した、入力画面・確認画面・完了画面の3画面を含み、HTMLオブジェクトとしてテキストボックス・セレクトボックス・ラジオボ...

サンプルプログラムの作成

作成したサンプルプログラムの構成は以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、「前提条件」または「流用ソース」のプログラムから変更したプログラムである。

pom.xmlに追加した内容は以下の通りで、Validatorのライブラリ「validation-api」「hibernate-validator」を追加している。それぞれ、古いバージョンだと動かない場合があるため、Spring Bootでサンプル作成時と同じバージョンを指定している。

また、servlet-context.xmlに追加した内容は以下の通りで、メッセージリソース読み込み定義を追加している。この定義を追加することで、src/main/resources 下のmessages.propertiesが取得できるようになっている。

さらに、メッセージプロパティの内容は以下の通りで、「流用ソース」と比べ、NotEmptyのメッセージ設定を「javax.validation.constraints.NotEmpty.message=~」⇒「NotEmpty=~」と変更している。

また、CSSファイルの内容は以下の通りで、内容は「流用ソース」そのままで、webapp/resources/static 下に配置場所を変更している。

さらに、input.html、confirm.htmlについては以下の通りで、「流用ソース」と比べ、cssファイルを読み込むth:href属性を、「@{/demo.css}」⇒「@{/resources/static/demo.css}」と変更し、formタグのaction属性を、「action=”/XXX”」⇒「th:action=”@{/XXX}”」と変更している。

他、DateCheckUtil.java、DemoController.java、DemoForm.java、complete.htmlは「流用ソース」と同じ内容となる。そのソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/spring-mvc-web-check/demo

要点まとめ

  • Spring MVCプロジェクトでチェック処理を実装するには、Validatorのライブラリ「validation-api」「hibernate-validator」を追加し、servlet-context.xmlにメッセージリソース読み込み定義を追加する必要がある。
  • CSSファイルはWEB-INFディレクトリの外側の、webapp/resources下等に配置する必要がある。