상세 컨텐츠

본문 제목

[JAVA] Model, ModelMap, ModelAndView

Study/JS

by 개발성훈 2020. 9. 9. 14:44

본문

 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

 

관련글 더보기