Spring MVC

Spring MVCで複数画面をもつWEBアプリケーションを作成してみた

今回は、Spring MVC上で、複数画面間で画面遷移するプログラムを作成してみたので、そのサンプルプログラムを共有する。

前提条件

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

Spring MVCでThymeleafを利用してみた前回、Spring MVCプロジェクトを作成した際は、画面がJSPで作成されていたが、今回はThymeleafを利用するHTMLファイル...

また、lombokを利用するので、下記記事のlombokの設定が完了していること。

STS(Spring Tool Suite)上でlombokを利用してみた今回は、STSを利用して、lombokを利用してみたので、その手順を共有する。STS上でlombokを利用できるようにするには、あらかじ...

流用ソース

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

複数画面をもつSpring BootのWEBアプリケーションを作成してみた今回は、入力画面・確認画面・完了画面の3画面を含み、HTMLオブジェクトとしてテキストボックス・セレクトボックス・ラジオボタン・チェック...

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

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



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

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

pom.xmlに追加した内容は以下の通りで、lombokの設定を追加している。

また、web.xmlに追加した内容は以下の通りで、リクエストパラメータのエンコーディング指定を追加している。これを追加しないと、画面遷移を行う際に文字化けが発生してしまう。



フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...

さらに、コントローラクラスの内容は以下の通りで、@GetMapping、@PostMappingアノテーションの代わりに、@RequestMappingアノテーションでmethod属性を指定するようにしている。

@GetMapping、@PostMappingアノテーションは、Springのバージョンが4.3以降で利用できるアノテーションである。今回はSpring 3.1.1を利用しているため、@RequestMappingアノテーションでmethod属性を指定するようにしている。

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

要点まとめ

  • Spring MVCプロジェクトで複数画面間で画面遷移するようにするには、web.xmlでリクエストパラメータのエンコーディング指定を追加する必要がある。
  • @GetMapping、@PostMappingアノテーションは、Springのバージョンが4.3以降で利用できる。それより前のバージョンでは、@RequestMappingアノテーションでmethod属性で「RequestMethod.GET」または「RequestMethod.POST」を利用すればよい。