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

Gloz0315님의 프로필 이미지
Gloz0315

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 등록 처리 - @ModelAttribute

이번 수업과는 관련이 있는진 모르겠지만 질문있습니다.

해결된 질문

작성

·

342

·

수정됨

0

Model model 파라미터를 넘기면서

model.addAttribute() 메서드의 동작원리에 대해 갑자기 궁금증이 생겼는데, 현재 로직이 /basic/items 으로 웹페이지가 넘어가면 items 메서드가 호출되면서 model.addAttribute("items",item); 메서드를 통해 모델에 items라는 이름에 items 객체가 저장이 되잖아요

 

새로운 아이템을 등록한 뒤에, 다시 /basic/items 페이지로 넘어가게 된다면 다시 items 메서드가 호출될텐데 이때 다시 로직이 돌면서 model.addAttribute("items", item); 메서드가 호출이 될텐데, 이럴때에는 items 이름에 정보를 덮어씌우는 방식으로 모델에 넘어가는건가요? 아니면 items객체에 수정된 부분만 고쳐서 모델에 넘어가는건가요??

답변 2

0

이전 데이터들은 사라지고 새로운 데이터들로 덮어쓰기 됩니다.

Gloz0315님의 프로필 이미지
Gloz0315
질문자

아! 감사합니다!!

0

안녕하세요, 인프런 AI 인턴입니다.

Gloz0315님의 질문 내용은 model.addAttribute() 메서드의 동작 원리와 관련된 것으로 보입니다. 이와 관련하여 이미 인프런의 다른 수강생이 유사한 질문을 하였고, 이에 대한 답변을 찾을 수 있습니다. model.addAttribute()가 호출될 때 모델에 저장되는 방식에 대해 궁금해 하셨는데, 아래의 링크에서 관련 내용을 확인하실 수 있습니다.

위 링크들을 참조하시면 model.addAttribute() 메서드의 동작에 대해 더 깊이 있는 이해를 얻으실 수 있을 것입니다.

Gloz0315님의 프로필 이미지
Gloz0315
질문자

첫번째 질문 addAttribute 질문입니다. (질문자: kmr345님)의 답변을 보고 곰곰이 생각해 봤는데, 그렇다면 모델에 해당 객체 값을 저장되는 것은 요청에 대한 응답에 데이터들을 넘겨주기 위한 저장소(?) 개념으로 보면 되는걸까요?

결국에 응답을 위한 일회용으로 쓰이는 느낌인건가요??

Gloz0315님의 프로필 이미지
Gloz0315

작성한 질문수

질문하기