인프런 커뮤니티 질문&답변

잠꾸님의 프로필 이미지
잠꾸

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

입력 폼 처리

addForm 메소드 질문입니다!

작성

·

201

0

안녕하세요 강사님!

이번 강의를 듣고 질문이 있어 글을 씁니다.

addForm 메소드에서 파라미터로 Model 을 받아서, Item 객체를 생성한 뒤 model.addAttribute 메소드로 Item 객체를 모델에 추가하여 뷰에서 Item 객체에 접근할 수 있다 라고 이해하였는데요.

그래서 뷰 쪽에서 th:object 속성으로 item 객체를 받아서 사용하구요.

제가 궁금한 부분은 addForm 메소드에서 파라미터로 @ModelAttribute 어노테이션을 사용하여 item 객체를 선언하면 동일하게 동작하는 것 같은데 이렇게 써도 되나요?

저번 mvc 1강에서 @ModelAttribute 을 사용하면 해당 객체를 생성해주고, 요청 파라미터의 값을 바인딩 해주고, 모델에까지 추가를 해준다고 들어서요.

여기선 요청 파라미터는 없어서 바인딩은 없을것 같지만 사용자가 임의로 URL에 쿼리스트링을 입력하면 문제가 되려나요? ;ㅁ;

@GetMapping("/add")
public String addForm(@ModelAttribute Item item) {
return "form/addForm";
}

답변 1

0

안녕하세요. 연어포케님, 공식 서포터즈 OMG입니다.

 

동일한 질문에 대해 제가 이전에 다른 수강생분에게 답변 드린적이 있습니다.

당시에는 저도 정확히 알고있지 않던 내용이라 처음엔 잘못 답변드렸었는데 답변을 드리는 과정과 수강생분이 궁금해하시는 내용을 보시면서 연어포케님과 비교를 통해 이해하시면 더 도움이 되실 것 같아 링크 첨부하겠습니다.

[수강생 분이 질문한 내용은 MVC2편 로그인 처리1 - 쿠키, 세션 (회원가입) 강의입니다.

Member와 Item의 차이만 다를 뿐 궁금하신 사항은 동일하다고 보았습니다.]

 

@ModelAttribute 질문 있습니다. - 인프런 | 질문 & 답변 (inflearn.com)

감사합니다. 

잠꾸님의 프로필 이미지
잠꾸

작성한 질문수

질문하기