반응형
🙄 Model, ModelMap, ModelAndView
스프링의 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>
반응형
'Backend > Java (Spring)' 카테고리의 다른 글
[MyBatis] 마이바티스 동적 쿼리 작성하기 (0) | 2022.06.15 |
---|---|
[JAVA] 예외처리 방법과 종류 [Checked , Unchecked Exception] (0) | 2022.04.27 |
[SPRING] ava.lang.IllegalArgumentException: AJP 연결자는 secretRequired="true"로 구성되었으나 보안 속성이 널 또는 ""입니다. (0) | 2022.03.04 |
[Spring] 스프링 jsp에 css, js 적용하기 (0) | 2022.01.12 |
[JAVA] 생성자(Contructor)와 New 키워드 (0) | 2021.09.19 |
최근댓글