「Spring」FormModelに@ModelAttributeの使い方

2021年9月2日

書式
1.@ModelAttribute FormModel 変数名
2.form:from modelAttribute=変数名
3. ModelAndView変数.addObject(フォームオブジェクト,フォームデータ);
4.ModelAndViee変数.setViewName(ビュー名)

使用例
1.JSPコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<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コード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@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;
}

 

SpringMVC

Posted by arkgame