작성
·
309
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 네
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네
[질문 내용]
여기에 질문 내용을 남겨주세요.
Item 도메인 객체 대신 폼 데이터 전달을 위해서 ItemSaveForm으로 교체해서 사용을 했는데
Post요청으로 폼 데이터 불러오는 부분 말고 Get요청으로 상품 추가 폼 불러오는 부분에서
model.addAttribute("item", new Item()); 대신
model.addAttribute("item", new ItemSaveForm()); 으로 변경해야 하는 것이 아닌지 궁금합니다!
이 부분에 대한 언급이 없으셔서 혹시 바꾸지 않은 특별한 이유가 있으실까요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
Item 도메인 객체를 ItemSaveForm으로 교체하여 사용하고자 하는데, Get 요청으로 상품 추가 폼을 불러오는 부분에서 model.addAttribute(“item”, new Item()); 대신 model.addAttribute(“item”, new ItemSaveForm());으로 변경해야 하는지 궁금하신거죠?
ItemSaveForm은 폼 데이터 전달을 위해 사용하는 클래스인 것 같습니다. Get 요청으로 상품 추가 폼을 불러올 때에는 데이터를 전달할 필요가 없으므로, model.addAttribute(“item”, new ItemSaveForm());으로 변경하실 필요는 없어요.
상품 추가 폼을 불러올 때와 Post 요청으로 폼 데이터를 불러올 때에는 사용하는 모델 객체가 달라질 수 있기 때문에, 원하는 객체를 사용하시면 됩니다. 변경하지 않으셔도 큰 문제는 없을 것 같아요.
더 자세한 내용이나 궁금한 점이 있으시면 언제든지 말씀해주세요. 좋은 결과가 있기를 바라요.
안녕하세요 강사님.
저도 이 부분 궁금했었는데요
Get 요청으로 상품 폼을 불러오는 부분에서model.addAttribute(“item”, new Item()); 이부분이 Item 객체로 넘어 갔고 여기서 전송을하면 POST /add로 Item 객체가 넘어가서 ItemSaveForm로 못받는거 아닌가요?
아니면 Item 객체 필드랑 ItemSaveForm이랑 필드내용이 같아서 문제가 되지않은건가요? 답변 부탁드립니다 감사합니다.