작성
·
210
1
updateItemForm 메소드에서 강사님은
modelattribute로 데이터를 받으셨는데, modelattribute를 안쓰고 그냥 BookForm form으로 데이터를 받아도 잘 수정이되더라구요.
1.modelattribute를 쓰신 이유가 궁금하며, 2. 파라미터로 데이터를 매칭할때 modelattribute를 쓰지 않는 상황에서 파라미터 변수가 form이라는 이름 때문에 매칭되는건지, 아님 Bookform이라는 객체타입를 인식해서 알아서 매핑되는건지 궁금합니다.
답변 4
1
0
네 contoller -> view에 넘길때는 이름이 중요한데, HTTP 요청을 통해서 controller에 들어올 때는 사실 이름이 의미가 없습니다^^
심지어 @ModelAttribute를 생략해도 데이터를 바인딩 받을 수 있습니다.
0
강사님 한가지 더 질문이 있습니다.
만약 파라미터가 (BookForm form)일때
@ModelAttribute("form") BookForm form 에서
model.addAttribute("form", form) //자동으로 호출된다고 하셨는데 여기서 템플릿 뷰화면으로는 updateItemForm.html의 form이 "form"에 담아서 보낸다고 하신건 이해했습니다.
근데 여기서 이 전에 updateItemForm.html에서 form으로 담아서 데이터를 보냈는데, 위 사진처럼 파라미터 변수 form은 이름이 같아서 매칭되어서 저장되는건지, @ModelAttribute("form") BookForm form / form 이름이 같아서 헷갈리네요.
BookForm gg 로 해도 gg.getName , gg.getPrice 등등이 잘 실행되네요. 이유가 궁금합니다.
무슨 이유로 updateItemForm.html에서 넘어오는 form이 BookForm 의 변수 form이 인식하는지..
0