[출처] https://cocobi.tistory.com/140
스프링의 Model 객체에는 Model, ModelMap, ModelAndView 가 있다.
위 3개의 객체를 크게 두 가지로 관점에서 본다면 Model(ModelMap) vs ModelAndView로 나눌 수 있다.
1.Model(ModelMap) vs ModelAndView
- Model(ModelMap)은 데이터만 저장한다.
- ModelAndView는 데이터와 View Page를 같이 저장한다.
2.Model과 ModelMap
- model.addAttribute("변수명");
- modelMap.addAttribute("변수명");
- View에서의 사용목적으로 Model과 ModelMap에는 데이터만 저장한다.
- Model은 인터페이스이며 ModelMap은 클래스이다.
@RequestMapping(value = "/test.do")
public String test(HttpServletRequest request, Model model, ModelMap modelMap){
String modelStr = "Model Test";
String modelMapStr = "ModelMap Test";
model.addAttribute("modelVar", modelStr);
model.addAttribute("modelMapVar", modelMapStr);
return "temp/test";
}
<body>
Model : <input type="text" value="${modelVar }"/><br/>
ModelMap : <input type="text" value="${modelMapVar }"/>
</body>
3.ModelAndView
- mv.addObject("변수명");
- mv.setViewName으로 이동하려는 View를 저장
- return 타입은 ModelAndView
@RequestMapping(value = "/test.do")
public ModelAndView test(HttpServletRequest request, ModelAndView mv){
String modelAndViewStr = "ModelAndView Test";
mv.addObject("modelAndViewVar", modelAndViewStr);
mv.setViewName("temp/test");
return mv;
}
<body>
ModelAndView : <input type="text" value="${modelAndViewVar }"/><br/>
</body>
'03.업 > 13.SpringBoot' 카테고리의 다른 글
SpringBoot참고 (0) | 2021.08.26 |
---|