Я использую способ ниже, чтобы получить локаль из самих параметров Spring @RequestParam. Это отлично работает для любого отдельного запроса из браузера. Но если я изменяю языковой стандарт на экране своего веб-приложения и снова нажимаю на приложение, я получаю значение самого первого языкового стандарта из этого параметра Locale.
@RequestMapping(value = "/register")
public String register(Model model, HttpServletRequest request, Locale locale)
Ниже я использую localeResolver:
<bean id = "localeResolver"
class = "org.springframework.web.servlet.i18n.SessionLocaleResolver"
autowire = "default" autowire-candidate = "default" lazy-init = "default">
<property name = "defaultLocale" value = "en_US"></property>
</bean>
Я также искал решение этой проблемы на весенних форумах, но считаю, что проблема еще не решена:
Конечно, у меня есть обходной путь, чтобы получить локаль из самого request.getLocale (), но мне просто любопытно узнать, есть ли у кого-нибудь решение и основная причина этого.
Я просто хочу удалить этот вопрос сейчас. Не знаю, как это сделать! На форуме Spring уже идет обсуждение, ссылка на которую я предоставил выше в своем вопросе.
Весенний форум закрыт уже несколько лет и доступен только для чтения. Как уже говорилось, у вас нет перехватчика изменений (по крайней мере, в вашем вопросе), и вы не показали полную конфигурацию.




Пожалуйста, перефразируйте свой вопрос, я понятия не имею, в чем ваша проблема. Нет параметра запроса для локали, так как же это должно работать. Вы, по-видимому, ничего не настроили для изменения локали (по крайней мере, я нигде не вижу
LocaleChangeInterceptor.