강의

멘토링

커뮤니티

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

심모님의 프로필 이미지
심모

작성한 질문수

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

체크 박스 - 멀티

@ModelAttribute 위치 질문드립니다

작성

·

271

0

@ModelAttribute를 통해 해당컨트롤러안에 호출되는 어느곳에서든 Model 객체에 담겨 타임리프에 전달된다고 하셨는데 

html에 BodyHeader안에서도 사용하고싶다면 @ModelAttribute를 어디에 선언 해야하는지 궁금합니다.

제가 하려는것을 말씀드리자면 

BodyHeader부분에 네비게이션바 코드를 넣어놨는데 이안에서 Enum타입의 값들을 호출하려고 합니다.

답변 1

0

안녕하세요. 심모님, 공식 서포터즈 David입니다.

.
@ModelAttribute를 사용하시게 되면 URL이 맵핑된 컨트롤러 내 메소드의 model에 담기게 됩니다.

이렇게 담긴 것은 응답으로 사용될 타임리프 템플릿에서 바로 불러와서 사용할 수 있습니다.

강의 내에서 설명하고 있는 것과 같이 동일하게 선언해도 원하시는 곳(HTML 내 BodyHeader? 이게 뭔지 잘 모르겠네요.)에서 model에 담긴 attribute를 불러올 수 있습니다.
.
감사합니다.

심모님의 프로필 이미지
심모
질문자

답변감사합니다.

BodyHeader의 의미를 설명해드리자면

강의에서 BodyHeader.html 을 생성하여 그안에 div를 fragment 로 선언하여

모든 html파일에서 body의 첫부분에  div replace를 이용하여 공통적으로 나타나게 한것입니다.

 

그런데 bodyheader같은경우는 모든 웹페이지에서 사용되는데 @ModelAttribute를 모든 URL에 넣고싶어서 말씀드렸습니다.

심모님의 프로필 이미지
심모

작성한 질문수

질문하기