springMVC增加多语言,Java默认的多语言配置文件后缀为properties。这里记录一种可从properties文件中查找key或从xml文件中查询key的配置方式。
首先在springMVC的配置文件中增加多语言配置文件路径
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:Language/Language</value>
</list>
</property>
<!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
<property name="useCodeAsDefaultMessage" value="false" />
</bean>
要想多语言同时兼容xml与properties文件,下面的是重点
org.springframework.context.support.ReloadableResourceBundleMessageSource
1.以properties文件为主,如果选择的key没有存在,则在xml文件中查找
整体多语言配置
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:Language/Language</value>
</list>
</property>
<!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
<property name="useCodeAsDefaultMessage" value="false" />
</bean>
<!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<!-- <property name="defaultLocale" value="en_US"/> -->
</bean>
<mvc:interceptors>
<!--国际化资源切换(根据请求参数中的locale参数自动切换) -->
<mvc:interceptor>
<span style="white-space:pre"> </span><mvc:mapping path="/**" />
<span style="white-space:pre"> </span><ref bean="localeChangeInterceptor" />
<span style="white-space:pre"> </span></mvc:interceptor>
</mvc:interceptors>