Spring
Spring - MVC @ModelAttribute의 다른사용방법
엔꾸꾸
2019. 8. 1. 21:27
Spring - @ModelAttribute의 다른 사용법
- @ModelAttribute
- Spring 2.5 부터 지원
- @RequestMapping을 사용한 Handler Method Argument에 사용
- @Controller or @ControllerAdvice를 사용한 클래스에서 Model 정보를 초기화할때 사용한다.
- 공통적으로 참조해야하는 정보가 있는경우
- @RequestMapping과 함께 사용하면 해당 Method에서 Return하는 객체를 Model에 담아준다.
- RequestToViewNameTranslator 를 사용 요청으로부터 ViewName을 유추하여 View를 Return해준다.
- Handler Method에서 공통적으로 참조하는 Model 정보를 만드는 2가지방법
- model객체에 직접 담아준다.
- @ModelAttribute("키값") 형태로 정의해준다면 return하는 객체를 해당하는 키값으로 담아준다.
- 키값을 지정하지않는경우 임의의 키값으로 담아준다 (기본전략은 해당 Class명 camelCase)
- @ModelAttribute("키값") 형태로 정의해준다면 return하는 객체를 해당하는 키값으로 담아준다.
정리
- @ModelAttribute는 Controller에 존재하는 HandlerMethod에서 공통으로 참조해야하는 Model정보가 있다면 해당 Model정보의 초기화 목적으로 사용이 가능하다.
- 2가지 방법이 존재한다.
- @ModelAttribute를 사용한 Method의 Argument로 Model객체를 받아와 model에 직접 담아주는 방법
- @ModelAttribute를 사용한 Method에서 객체를 return 하면 Model에 자동적으로 담아주는 방법
- Model의 키값을 지정할 수 있이며 생략할경우 기본 전략은 해당 Class명 camelCase