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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

회원 가입

GetMapping 에서 @ModelAttribute 사용 이유

작성

·

787

0

영상 8:57 에서 @GetMapping("/add") 에서 파라미터로 @ModelAttribute를 받는 이유가 무엇인가요 ?

 

PostMapping이 아니라 GetMapping일 때는 데이터가 넘어오지 않기 때문에 사용할 이유가 없는 것 아닌가요 ??

답변 1

3

안녕하세요, hjemsti 님! 공식 서포터즈 codesweaver 입니다.

@GetMapping 에서 member 를 파라미터로 받지 않으면

addMemberForm.html 파일의 다음 코드에서 오류가 발생합니다. 그래서 지금은 생략할 수 없습니다.

<form action="" th:action th:object="${member}" method="post">

'이게 왜 있어야 하는지 잘 모르겠다'고 생각할 땐, 과검하게 빼버리는 것도 방법입니다. 그리고 제대로 동작하는지 확인한다면, 비로소 그 부분의 존재 의미를 알 수 있습니다
감사합니다.

 

@GetMapping("/add")
public String addForm(@ModelAttribute("member") Member member){
return "members/addMemberForm";
}

@GetMapping("/add")
public String addForm(Model model){
model.addAttribute(new Member());
return "members/addMemberForm";
}
아래 코드처럼 빈 Member 객체를 생성하여 넘겨주기 위해 ModelAttribure 어노테이션을 사용한거라고 이해해도 될까요?

비어있는 member를 전달해줘야 거기서 member에 맞는 id,password,name채워서 post로 이 member를 전달해주는거 같아요

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기