해결된 질문
작성
·
422
0
섹션4_Model추가 V3 강의 내용 중
FrontControllerServletV3 클레스 에서
해당 render 메서드의 파라미터 mv.getModel()에는
createParamMap 메서드에서 만들어진 paramMap? 즉 key, value로 생성된 모든 request 값이 들어가고,
view.render(mv.getModel(), request, response); 메서드 내부에
modelToRequestAttribute 메서드는 위에서 넘겨준 paramMap을 다시 request에 새팅해주는게 맞나요?
어질 어질 하네요.. ㅜㅜ
답변 1
1
안녕하세요. gnstjrdlsla님, 공식 서포터즈 OMG입니다.
코드 실행 흐름을 먼저 이해하시면 좋을 것 같은데요,
(createParamMap을 설명하신 부분은 이해하신게 맞습니다.)
요청정보(request
)를 바탕으로 Map
을 만들고, Map
데이터를 전달하여 Model
과 View
정보 데이터를 생성합니다.
-
그렇다면 Model과 View에는 어떤게 담기는지 확인을 해볼게요.
(강의에서 작성했던 웹 브라우저 화면들을 머릿속에 그리면서 따라오시면 좋습니다.)
MemberFormController
작성 양식이니까 View에 이름만 존재합니다.
MemberSaveController
저장하려는 회원정보가 map(model)
에 저장됩니다. view의 name은 save-result입니다.
MemberListController
전체 회원 목록이 map(model)
에 저장됩니다. view의 name은 members 입니다.
mv.getModel()에 어떤 것들이 들어있는지는 이해하셨을거라 생각합니다.
아래의 코드를 위에서 설명드린 것을 바탕으로 생각해보면,
각 Controller에서 ModelView반환했던 map(model)
데이터를 foreach
각각 순회하여
request
에 key(이름)와 value(값)을 set(세팅) 하는 코드로 이해하시면 됩니다.
감사합니다.