【发布时间】:2014-04-18 19:24:53
【问题描述】:
在我的应用程序中,我定义了以下 bean,但是当我尝试使用参数 ex 更改语言环境时:?lang=es 它对我不起作用,并且显示的是 CookieLocaleResolver 中定义的默认语言环境,即英语。
这是我的 bean 类:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="resources/i18n/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="lang" />
<property name="defaultLocale" value="en" />
</bean>
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
</list>
</property>
</bean>
我想要实现的是使用参数更改语言并将其保存在与该参数相关的 cookie 中,以便进一步请求区域设置是新的区域设置语言!
我也不想使用下面的类,因为它已经被弃用了:
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
我的声明性 bean 实现有什么问题?
【问题讨论】:
标签: java spring jakarta-ee spring-mvc