Spring解体新書という書籍(ソースコードはこちら)の中の、java/.../login/controller.SignupController.javaから一部コードを抜粋したものです。
java
1@Controller 2public class SignupController { 3 4 private Map<String, String> radioMarriage; 5 6 private Map<String, String> initRadioMarrige() { 7 8 Map<String, String> radio = new LinkedHashMap<>(); 9 10 // 既婚、未婚をMapに格納 11 radio.put("既婚", "true"); 12 radio.put("未婚", "false"); 13 14 return radio; 15 } 16 17 @GetMapping("/signup") 18 public String getSignUp(@ModelAttribute SignupForm form, Model model) { 19 20 // ラジオボタンの初期化メソッド呼び出し 21 radioMarriage = initRadioMarrige(); 22 23 // ラジオボタン用のMapをModelに登録 24 model.addAttribute("radioMarriage", radioMarriage); 25 26 // signup.htmlに画面遷移 27 return "login/signup"; 28 } 29}
上記のコード中では、formという変数は使用しておらず、なぜ@GetMappingがついたメソッドの引数となっているのかがわかりません。
このメソッドの返り値として指定されているsignup.html中では、SignupFormオブジェクトに対して入力したデータをバインドするため、このgetSignup()メソッド中でSignupFormオブジェクトをModelに登録しておく必要があることはわかるのですが、なぜ引数にわざわざ設定するのでしょうか?
ご回答よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。