인프런 커뮤니티 질문&답변
스프링 컨테이너에서 어떻게 Controller에서 만든 Model을 View로 전달하는지 궁금합니다.
작성
·
529
0
갑자기 소소한 궁금증이 생겨 여쭙니다. Controller에서 model.addAttribute로 model에 key와 값을 추가한다고 알고 있는데, 이것을 어떻게 객체로 전달하는지가 궁금해서 질문남깁니다. 혹시 addAttribute를 통해 반환한 Model 레퍼런수 변수를 Controller가 return하고 => DispatcherServerlet에서 key와 value를 뽑아내서 사용하는 것인가요..? 아니라면 간략하게 설명해주시면 감사하겠습니다!
답변 1
1
안녕하세요. ᄋᄋᄋᄋ님, 공식 서포터즈 OMG입니다.
아래 링크를 참고해주세요 :)
DispatcherServlet render의 전후 실행 흐름을 보시면 이해가 되실꺼에요.
MVC1편 Model 추가 - v3에서 영한님의 설명을 확인하실 수 있습니다.
감사합니다.






위에 이미지는 mvc1편 강의자료인데요 조금 더 부연설명 드리면, DispatcherServlet이 render를 호출하고, View를 반환하고 HTML 응답의 흐름으로 실행이 되는데 코드로 보면
DispatcherServlet.class
render가 호출되고 여기서 view는 View인터페이스를 구현한 구현체로 구현체 코드를 보시면 아시겠지만, model을 merge하고 이후 과정이 진행되어 화면에 전달됩니다.