コントローラー作成

@GetMapping

コントローラーを作成します。前回の方法でクラスを作成し「名前」を「CalculationController」としてください。

サンプルプログラムの「gs-handling-form-submission-complete」を参考に次のようにプログラムを記述しました。

9行目の「@Controller」は、このクラスがコントローラーであることを宣言しています。

12行目の「@GetMapping(“/cal”)」で、ユーザが

http://<サーバー>:8080/cal

と要求した際の紐づけを行っています。具体的には次の行13行目のメソッドformが実行されます。

メソッドformではモデルCalculationのインスタンスを作成し、model.addAttributeメソッドでビューに引き渡しています。

最後にビューindexを表示しています。ビューindexは次回作成します。

@PostMapping

ビューで入力が行われ「計算」ボタンが押下されると次のURLをpostで発行するようにします。

http://<サーバー>:8080/cal

このURLと紐づけるための命令が18行目の「@PostMapping(“/cal”)」です。そして次の19行目のメソッドsubmitが実行されます。

19行目の@ModelAttribute命令により入力された値がクラスCalculationの変数に設定されます。

設定された値の計算は20行目でクラスCalculationのcalメソッドを呼び出すことにより実現しています。

これでクラスCalculationの変数に入力された値、計算した値が設定されました。これをビューに引き渡して表示するだけです。21行目のmodel.addAttributeメソッドでビューに引き渡すインスタンスを設定し、22行目でビューindexを表示しています。

タイトルとURLをコピーしました