24.01.06 10:51 작성
·
149
0
public ModelView process(Map<String, String> paramMap) {
String username = paramMap.get("username");
int age = Integer.parseInt(paramMap.get("age"));
Member member = new Member(username, age);
memberRepository.save(member);
ModelView mv = new ModelView("save-result");
mv.getModel().put("member", member);
return mv;
public class ModelView {
private String viewName;
private Map<String, Object> model = new HashMap<>();
public ModelView(String viewName) {
this.viewName = viewName;
}
public String getViewName() {
return viewName;
}
public void setViewName(String viewName) {
this.viewName = viewName;
}
public Map<String, Object> getModel() {
return model;
}
public void setModel(Map<String, Object> model) {
this.model = model;
}
1.Modelview에서 model이 언제생성된거죠..? getmodel을 해주려면 먼저 선언이 되어있는 model을 가지고 반환해줘야하는데 언제선언이 된거죠?
Map<String, String> paramMap = createParamMap(request);
ModelView mv = controller.process(paramMap);
String viewName = mv.getViewName(); //논리이름 new-form
MyView view = viewResolver(viewName);
view.render(mv.getModel(), request, response);
}
private static MyView viewResolver(String viewName) {
return new MyView("/WEB-INF/views/" + viewName + ".jsp");
}
private static Map<String, String> createParamMap(HttpServletRequest request) {
Map<String, String> paramMap = new HashMap<>();
request.getParameterNames().asIterator()
.forEachRemaining(paramName ->paramMap.put(paramName, request.getParameter(paramName)));
return paramMap;
}
}
Map<String, String> createMap에서 .forEachRemaining(paramName ->paramMap.put(paramName, request.getParameter(paramName))); 여기를 보면 request.getParmeter(paramName)로 paramName에대한 Value를 가지고오고있는데 여기서 말하는 Value는 age인데 int로 선언하는게 맞지않나요?
항상 답변감사드립니다
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
질문해주신 내용과 관련하여 비슷한 주제로 궁금증을 해결한 다른 수강생의 질문이 있어 링크를 공유드립니다. 해당 링크에서는 ModelView
의 model
생성 시점과 Map<String, String>
사용법에 대해 설명하고 있습니다.
강의 수강생이 ModelView
내 model
의 선언 및 사용 방법과 Map<String, String>
의 사용법에 대해 질문한 내용에 대한 답변 링크입니다: FrontControllerServletV3의 기능중 이해가 안되는 부분이 있습니다.
해당 내용에서 ModelView
의 model
필드는 ModelView
클래스의 생성자에서 생성되며, Map<String, String> paramMap
을 사용하여 요청 파라미터를 매핑하고 컨트롤러에 전달하는 방식에 대해 설명하고 있습니다.
강의 내용을 다시 한번 확인해 보시고, 추가적인 질문이 있으시면 동일한 게시판에 남겨주시면 됩니다.
2024. 01. 06. 15:35
아 기본적인 실수를해버렸네요.. 아직기초가 부족했나봅니다
2번에서 자동으로 형변환이 되는건가요?