728x90
반응형

 

Spring 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

1
2
3
4
5
6
7
8
9
10
11
12
13
 
@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";
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

JSP

1
2
3
4
5
<body>
    Model 저장한 값 : <input type="text" value="${modelVar }"/><br/>
    ModelMap 저장한 값 : <input type="text" value="${modelMapVar }"/>
</body>
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

Web Page

 

 

ModelAndView

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

 

Java Controller

1
2
3
4
5
6
7
8
9
10
11
@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;
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

JSP

1
2
3
4
<body>
    ModelAndView 저장한 값 : <input type="text" value="${modelAndViewVar }"/><br/>
</body>
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

Web Page

728x90
반응형

+ Recent posts