복붙노트

[SPRING] Model, ModelMap 및 ModelAndView의 차이점은 무엇입니까?

SPRING

Model, ModelMap 및 ModelAndView의 차이점은 무엇입니까?

다음 Spring Framework 클래스 간의 주요 차이점은 무엇입니까?

Model.put (String, Object)을 사용하여 .jsp 파일의 값에 액세스 할 수 있지만 ModelMap.addAttribute (String, Object)도 동일한 작업을 수행했습니다. 나는이 클래스들의 차이를 이해하지 못한다.

해결법

  1. ==============================

    1.모델은 ModelMap이 클래스 인 인터페이스입니다.

    모델은 ModelMap이 클래스 인 인터페이스입니다.

    ModelAndView는 ModelMap과 뷰 객체 모두를 담는 컨테이너 일뿐입니다. 컨트롤러가 두 값을 단일 값으로 반환 할 수 있습니다.

  2. ==============================

    2.Model, ModelMap 및 ModelAndView의 차이점

    Model, ModelMap 및 ModelAndView의 차이점

    Model : 인터페이스입니다. 모델 속성에 대한 홀더를 정의하며 주로 모델에 속성을 추가하기 위해 설계되었습니다.

    예:

    @RequestMapping(method = RequestMethod.GET)
        public String printHello(Model model) {
              model.addAttribute("message", "Hello World!!");
              return "hello";
           }
    

    ModelMap : UI 도구와 함께 사용할 모델 데이터를 작성할 때 사용할지도 구현. 체인 된 호출 및 모델 특성 이름 생성을 지원합니다.

    예:

    @RequestMapping("/helloworld")
    public String hello(ModelMap map) {
        String helloWorldMessage = "Hello world!";
        String welcomeMessage = "Welcome!";
        map.addAttribute("helloMessage", helloWorldMessage);
        map.addAttribute("welcomeMessage", welcomeMessage);
        return "hello";
    }
    

    ModelAndView :이 클래스는 컨트롤러가 단일 반환 값으로 모델과 뷰를 모두 반환 할 수 있도록하기 위해 둘 다만 보유합니다.

    예:

    @RequestMapping("/welcome")
    public ModelAndView helloWorld() {
            String message = "Hello World!";
            return new ModelAndView("welcome", "message", message);
        }
    
  3. ==============================

    3.Model : 4 개의 addAttribute와 하나의 merAttribute 메소드를 포함하는 인터페이스입니다.

    Model : 4 개의 addAttribute와 하나의 merAttribute 메소드를 포함하는 인터페이스입니다.

    ModelMap : Map 인터페이스를 구현합니다. 또한 Map 메소드가 포함되어 있습니다.

    ModelAndView : Bart는 컨트롤러가 단일 값으로 컨트롤러를 반환 할 수 있도록 설명합니다.

  4. from https://stackoverflow.com/questions/18486660/what-are-the-differences-between-model-modelmap-and-modelandview by cc-by-sa and MIT license