[size=medium][color=red][b]spring.xml文件中配置:[/b][/color][/size]
messages_en_US.properties
messages_zh_CN.properties
login.jsp
[size=medium][color=red][b]页面需要加入taglib 前缀文件[/b][/color][/size]
<!-- 存储区域设置信息
SessionLocaleResolver类通过一个预定义会话名将区域化信息存储在会话中
从session判断用户语言defaultLocale :默认语言-->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="zh_CN" />
</bean>
<!-- 国际化资源文件
messageSource配置的是国际化资源文件的路径,
classpath:messages指的是classpath路径下的
messages_zh_CN.properties文件和messages_en_US.properties文件
设置“useCodeAsDefaultMessage”,默认为false,这样当Spring在ResourceBundle中找不到messageKey的话,就抛出NoSuchMessageException,
把它设置为True,则找不到不会抛出异常,而是使用messageKey作为返回值。 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="defaultEncoding" value="UTF-8" />
<property name="useCodeAsDefaultMessage" value="true" />
<property name="basenames" >
<list>
<value>classpath:messages</value>
</list>
</property>
</bean>
<!--通过名为”lang”的参数来拦截HTTP请求,使其重新设置页面的区域化信息-->
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
</mvc:interceptors>
messages_en_US.properties
LOGIN = login
messages_zh_CN.properties
LOGIN = 登录
login.jsp
[size=medium][color=red][b]页面需要加入taglib 前缀文件[/b][/color][/size]
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<body>
<a href="login.do?lang=zh_CN">中文</a>
<br />
<a href="login.do?lang=en_US">英文</a>
<div class="login">
<button type="submit" class="btn btn-primary btn-block btn-large">
<spring:message code="LOGIN" /> </button>
</div>
</body>