パラメータを受け取りコントローラで処理する

パラメータ(HTMLのformで送ることができる値)を受け取ってみましょう。

ここでは例として「足し算」を行います。2つの数値をフォームから送信し、その数値を足し算してページに表示します。

HTMLによるフォームは次のようになります。数値を入力して送信ボタンを押すと、actionで指定したURLにパラメータとともにリクエストされます。input要素のname属性で参照のための名前(ここでは「a」と「b」)を指定します。formのmethod属性では、getかpostが指定できます。getの場合はURLに「?a=1.2&b=3.4」といった形でパラメータが付加されます。

足し算した結果を表示するページは次のようにします。

コントローラは次のようにします。

受け取りたいパラメータは、@RequestParamアノテーションをつけてメソッドの仮引数として指定します。@RequestParamの後ろのカッコ内には、input要素のname属性と対応するように指定します。このようにすることで、パラメータを普通のメソッドの引数と同じように扱うことができます。

実行例
Sample3a

Sample3b

もちろん、仮引数の型がdoubleなので、doubleと解釈できない文字列の場合はエラーになります。ビュー側で数値以外が入力できないようにしたり、コントローラではStringで受け取って適切なエラー処理をする等といった処理を(必要に応じて)行うとよいでしょう。