JAVA/SPRING

[SPRING] 컨트롤러에서 ModelAndView와 Model의 차이.

gracelove91 2019. 8. 5. 21:52

Model


@Controller
public class BasicModelViewController {
    @RequestMapping(value = "/welcome-model-map")
    public String welcome(ModelMap model){
        model.put("name", "XYZ");
        return "welcome-model-map";
    }
}

ModelAndView


@Controller
public class BasicModelViewController {
    @RequestMapping(value = "/welcome-model-view")
    public ModelAndView welcome(ModelMap model){
        model.put("name","XYZ");
        return new ModelAndView("welcome-model-view", model);
    }
}

결론


리턴해줄때 모양이 다르다.
Model을 사용한 Controller는 Model 객체에 put을 해주고 리턴해줄때 문자열로 view 이름을 리턴하지만,
ModelAndView를 사용한 Controller는 ModelAndView의 생성자에 view이름과 Model객체를 넣어준 뒤 리턴해준다.