i18n에 대한 두 개의 등록 정보 파일이 있으며 서비스 메소드에서 현지화 된 메시지를 수신하려고합니다. 내가 messageSource
을 주사했는데 이제는 원하는대로 사용자의 로케일을 얻는 것뿐입니다.서비스에서 사용자 로켈을 수신 할 수 없습니다.
- 첫 번째로
LocaleContextHolder.getLocale()
을 통해이 작업을 시도했지만 요청 로캘에 관계없이 내 시스템 로캘을 반환합니다. - 그럼 서비스에
HttpServletRequest
을 삽입하고 시도해 보았습니다 :RequestContextUtils.getLocaleResolver(request).resolveLocale(request)
, 그러나LocaleResolver
(null 임)을받지 못했습니다. 그것은 봄 보안의UserDetailsService
의 단지 구현입니다 그리고 중요한 있다면, 내 프로젝트에
CookieLocaleResolver
을 사용하기 때문에
나는,이 서비스 컨트롤러에서 어떻게든지 로케일을 보낼 수 없습니다.
사용하려는 로케일을 결정하는 것은 무엇입니까? – soulcheck
@soulcheck은 질문을 이해하지 못했습니다. 승인되지 않은 권한으로 지역화 된 메시지를 표시하려고하므로 현재 사용자 로캘 – Patison
을 알고 있어야합니다. 로케일은 요청에 의해 결정됩니다. 컨트롤러/인증 인터셉터에서 가져 와서 매개 변수로 서비스에 전달할 수 있습니다. – soulcheck