您好我正在尝试使用i18n:Spring-MVC-Maven由context.xml项目配置
我有文件(路径:\ src \ main \ resources):
messages.properties
messages_pl.properties
当只有一个文件时,该应用程序才能正常工作 - >读 < spring:messages ...> fome the one。 但是当有2个文件时,应用程序只能读取 messages_pl.properties ?lang = en 。
的DispatcherServlet-context.xml中
/* [..] */
<mvc:annotation-driven enable-matrix-variables="true"/>
<mvc:resources location="/resources/" mapping="/resource/**"/>
<context:component-scan base-package="com.ehr" />
<mvc:interceptors>
<bean class="com.ehr.webstore.interceptor.PerformanceMonitorInterceptor"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptors>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en"/>
</bean>
/* [...] */
webpage.jsp
< div class="pull-right" style="padding-right:50px">
< a href="?lang=en" >en</a>|<a href="?lang=pl" >pl< /a>
< /div>
答案 0 :(得分:0)
好的,我找到了问题的根源。总而言之,它是FallbackToSystemLocale
属性,默认情况下设置为“true”。有关更多信息,请查看ResourceBundleMessageSource doc。
解决方案:
将属性<property name="fallbackToSystemLocale" value="false"/>
添加到<bean id="messageSource" [...] ResourceBundleMessageSource">