Я использую приведенный ниже способ для получения локали из 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>
Я также искал решение этой проблемы на весенних форумах, но считаю, что проблема еще не решена:
http://forum.spring.io/forum/spring-projects/web/109088-change-locale-not-working-please-help-me?view=stream
Конечно, у меня есть обходной путь, чтобы получить его локаль из самой request.getLocale (), но мне просто интересно узнать, есть ли у кого-нибудь решение и первопричина для этого.