개발은 하는건가..

[Springboot] @ControllerAdvice 를 통해 global ModelAttribute 적용하기 본문

SpringBoot , Thymeleaf

[Springboot] @ControllerAdvice 를 통해 global ModelAttribute 적용하기

수동애비 2022. 4. 7. 18:42
반응형

 

@Controller 에서 요청 별로 공통 속성을 추가할 경우 다음과 같이 @ControllerAdvice 클래스를 생성하여

@ControllerAdvice 어노테이션 추가 후 @ModelAttribute 를 추가하고 전달된 Model 파라메터에 필요한

속성들을 추가한다.

@ControllerAdvice
public class CommonControllerAdvice {
   
    @ModelAttribute
    public void handleRequest(HttpServletRequest request, Model model) {
        String requestURI = request.getRequestURI();
      
        // 다음과 같은 식으로 공통으로 사용될 속성들을 추가한다.
        model.addAttribute("appVer", Const.AppVer);   
        model.addAttribute("uri", requestURI);
    }
}

위와 같이 설정 시 요청하는 모든 페이지에 appVer, uri 속성이 모델에 추가되어 모든 페이지에서 공통적으로 사용할 수 있다.

Comments