我在使用Spring设置国际化方面遇到了问题。 这是我的配置。
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="localization" />
</bean>
<!-- declare the resolver -->
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="sv" />
</bean>
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>
<mvc:annotation-driven />
即使我使用?locale=sv
(瑞典语)请求,它也始终显示英语。
我正在使用Spring with Velocity。
任何想法? 感谢
答案 0 :(得分:2)
这就是我的做法:
首先在messages_xx.properties
中复制了src/main/resources
我无法使用名称messages_xx_xx
(messages_en_us)
然后将以下配置添加到xxxx_servlet.xml上下文
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<mvc:interceptors>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptors>
<mvc:annotation-driven/>
#springMessages('message.title')
*.vm
就是这样。