この記事では、フォームの値をPOSTで送信したら画面遷移をしてその値を表示する仕組みを解説します。
プロジェクトの作成
VSCodeでSpringBootのMavenプロジェクトを作成します。
手順は以下の記事を参照。
用意するソース
SpringBootで新規プロジェクトを作成したら、以下のソースを用意して実行できる状態にします。
コントローラー(BaseController.java)
BaseController.java
MEMO
@PostMapping("/result")
は、http://localhost/resultにPOSTリクエストがあった場合に実行されます。遷移元ページ(form.html)
form.html
以下のコードはフォームが送信された場合、/resultへPOSTリクエストを送信することを意味します。
HTML
遷移先ページ(result.html)
result.html
実行結果
上記のソースを実行してブラウザでhttp://localhost:8080/にアクセスすると以下の画面が表示されます。これは遷移元ページ(form.html)
が表示されています。
遷移元ページ
(form.html)
にはinput要素が3つ表示されているので、それぞれ異なる文字列を入力してみます。
入力後、「送信」ボタンを押します。
遷移先ページ(result.html)
に遷移して値が表示されていることを確認できました。
解説
STEP.1
アクセス時
ブラウザでhttp://localhost:8080/にアクセスすると、遷移元ページ
(form.html)
が表示されます。
この遷移元ページ
(form.html)
にはinput要素を3つ定義してあり、ソース上ではinput要素のname属性の値をmsg1
、msg2
、msg3
としています。 form.html
STEP.2
入力/送信時
3つのinput要素に値を入力して「送信」ボタンを押すと、input要素に定義された
msg1
、msg2
、msg3
がBaseController.java
の@RequestParam
で定義したmsg1
、msg2
、msg3
にマッピングされます。
BaseController.java
そして、Model部の処理は、1つ目のinput要素(name属性の値が
msg1
)の値をmessage1へ出力、21つ目のinput要素(name属性の値が
msg2
)の値をmessage2へ出力、3つ目のinput要素(name属性の値が
msg3
)の値をmessage3へ出力、と解釈することができます。
STEP.3
ページ遷移時
「送信」ボタンを押すと遷移先ページ
(result.html)
が表示されます。このとき、BaseController.java
のモデル部で定義したmessage1
、message2
、message3
と遷移先ページ(result.html)
のmessage1
、message2
、message3
がマッピングされるため、input要素の値を表示できるというわけです。
result.html
図解
図解すると以下のようになります。

以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!