반응형

 

 

 

 

 

🙄 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>

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기