「Spring」FormModelに@ModelAttributeの使い方
書式
1.@ModelAttribute FormModel 変数名
2.form:from modelAttribute=変数名
3. ModelAndView変数.addObject(フォームオブジェクト,フォームデータ);
4.ModelAndViee変数.setViewName(ビュー名)
使用例
1.JSPコード
<h2>${username}</h2>
<p>${addr}</p>
<form:from modelAttribute="frmModel">
<form:input path="username" />
<form:input path="addr" />
<input type="submit">
</form:form>
<h2>${username}</h2>
<p>${addr}</p>
<form:from modelAttribute="frmModel">
<form:input path="username" />
<form:input path="addr" />
<input type="submit">
</form:form>
<h2>${username}</h2> <p>${addr}</p> <form:from modelAttribute="frmModel"> <form:input path="username" /> <form:input path="addr" /> <input type="submit"> </form:form>
2.コントローラー側Javaコード
@RequestMapping(value = "/create", method = RequestMethod.GET)
public ModelAndView create(@ModelAttribute FormModel formModel) {
//フォームのパラメータを受け取る
String username = formModel.getUsername();
String addr = formModel.getAddr();
//ModelAndViewのインスタンスを生成
ModelAndView mav = new ModelAndView("create");
mav.addObject("username",username);
mav.addObject("addr",addr);
//フォームオブジェクトの属性、値を設定
mav.addObject("frmModel",formModel);
//ビューテンプレートcreateの設定
mav.setViewName("create");
//ModelAndViewオブジェクトを返す
return mav;
}
@RequestMapping(value = "/create", method = RequestMethod.GET)
public ModelAndView create(@ModelAttribute FormModel formModel) {
//フォームのパラメータを受け取る
String username = formModel.getUsername();
String addr = formModel.getAddr();
//ModelAndViewのインスタンスを生成
ModelAndView mav = new ModelAndView("create");
mav.addObject("username",username);
mav.addObject("addr",addr);
//フォームオブジェクトの属性、値を設定
mav.addObject("frmModel",formModel);
//ビューテンプレートcreateの設定
mav.setViewName("create");
//ModelAndViewオブジェクトを返す
return mav;
}
@RequestMapping(value = "/create", method = RequestMethod.GET) public ModelAndView create(@ModelAttribute FormModel formModel) { //フォームのパラメータを受け取る String username = formModel.getUsername(); String addr = formModel.getAddr(); //ModelAndViewのインスタンスを生成 ModelAndView mav = new ModelAndView("create"); mav.addObject("username",username); mav.addObject("addr",addr); //フォームオブジェクトの属性、値を設定 mav.addObject("frmModel",formModel); //ビューテンプレートcreateの設定 mav.setViewName("create"); //ModelAndViewオブジェクトを返す return mav; }