본문 바로가기
IT/Spring

[Spring] - 스프링 Model, ModelMap, ModelAndView 차이점

by 차이나는 개발자 2020. 9. 15.
728x90
반응형

#스프링 Model, ModelMap, ModelAndView 차이점

 

 

#Model, ModelMap Vs ModelAndView 차이점

  • 데이터만 저장한다 vs 데이터와 이동하고자 하는 View Page를 같이 저장한다.

 

 

#Model, ModelMap 공통점

  • model.addAttribute("변수명");
  • modelMap.addAttribute("변수명");
  • 둘 다 addAttribute를 사용한다.
  • Model or ModelMap에 데이터만 저장 후 View에서 사용할 목적

 

 

Model, ModelMap 차이점

  • Model - 인터페이스
  • ModelMap - 클래스

 

 

#Java Controller

@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";
}

 

 

#JSP

<body>
    Model 저장한 값 : <input type="text" value="${modelVar }"/><br/>
    ModelMap 저장한 값 : <input type="text" value="${modelMapVar }"/>
</body>

 

 

#Web Page

 

 

#ModelAndView

  • addObject를 통해 데이터를 저장한다.
  • setViewName을 통해 이동하고자 하는 View를 저장한다.
  • 메소드 안에서 ModelAndView mv = new ModelAndView(); 
  • return type ModelAndView 

 

 

#Java Controller

@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;
}

 

 

#JSP

<body>
    ModelAndView 저장한 값 : <input type="text" value="${modelAndViewVar }"/><br/>
</body>

 

 

#Web Page

 

 

 

728x90
반응형

댓글