「SpringMVC」@ModelAttributeアノテーションでインスタンスを返す
構文
@ModelAttribute
public クラス名 メソッド名(){
方法1
return new クラス名();
方法2
クラス名 オブジェクト名 = new クラス名();
オブジェクト名.メソッド名(値);
return オブジェクト名
}
@ModelAttribute はメソッドパラメーターまたはメソッドの戻り値を名前付きモデル属性にバインドし、Web ビューに公開するアノテーション。
使用例
@Controller
@RequestMapping("user")
public class UserController {
//Logger変数の宣言
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
//DIの設定
@AutoWired
UserForm form;
@RequestMapping(value = "user", method = RequestMethod.GET)
public String user(UserForm form) {
logger.info("Test 123");
//処理コード
return "user";
}
//インスタンスが返される
@ModelAttribute
public UserForm setupForm(){
return this.form;
}
}
@Controller
@RequestMapping("user")
public class UserController {
//Logger変数の宣言
private static final Logger logger = LoggerFactory.getLogger(UserController.class);
//DIの設定
@AutoWired
UserForm form;
@RequestMapping(value = "user", method = RequestMethod.GET)
public String user(UserForm form) {
logger.info("Test 123");
//処理コード
return "user";
}
//インスタンスが返される
@ModelAttribute
public UserForm setupForm(){
return this.form;
}
}
@Controller @RequestMapping("user") public class UserController { //Logger変数の宣言 private static final Logger logger = LoggerFactory.getLogger(UserController.class); //DIの設定 @AutoWired UserForm form; @RequestMapping(value = "user", method = RequestMethod.GET) public String user(UserForm form) { logger.info("Test 123"); //処理コード return "user"; } //インスタンスが返される @ModelAttribute public UserForm setupForm(){ return this.form; } }