У меня есть два файла свойств для i18n и вы хотите получить локализованное сообщение в методе обслуживания. Я ввел messageSource
, и теперь все, что я хочу, это получить локаль пользователя.Не удается получить пользовательский язык в службе
- Во-первых, я попытался сделать это за
LocaleContextHolder.getLocale()
, но он возвращает мой системный язык независимо от языка запроса. - Затем я ввел
HttpServletRequest
в эксплуатацию и пробовал:RequestContextUtils.getLocaleResolver(request).resolveLocale(request)
, но даже не получилLocaleResolver
(это было null).
Я не могу отправить локаль некоторым образом от контроллера к этой услуге, потому что это просто реализация Spring Security UserDetailsService
И я использую CookieLocaleResolver
в моем проекте, если это имеет значение.
Что определяет местонахождение, которое вы хотите использовать? – soulcheck
@soulcheck не совсем понял вопрос. Я хочу отображать локализованное сообщение при неудачной авторизации, поэтому я должен знать текущий локатор пользователя – Patison
, в этом случае локаль определяется запросом. Вы можете получить его в своем контроллере/аутентификационном перехватчике и передать его службе в качестве параметра. – soulcheck