资源文件:
message_en_US.properties
login.page.name=loginpage
login.name=loginName
login.pwd=password
message_zh_CN.properties(需要进行转码)
login.page.name=登陆页面
login.name=用户名
login.pwd=密 码
在applicationContext.xml 中配置如下信息:
<span style="font-family:Arial;"> <!-- 国际化支持</span><span style="font-family:楷体_GB2312;"> bean Name 一定要是messageSource,这是Spring规定的</span><span style="font-family:Arial;"> -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>message</value>
</list>
</property>
<!-- 如果没有找到国际化key值 默认输出key -->
<property name="useCodeAsDefaultMessage" value="true" />
<!-- 刷新资源文件的周期,以秒为单位 -->
<property name="cacheSeconds" value="5" />
</bean></span>
message: 表示在 WEB-INF/classes/ 文件夹下面 message_zh_CN.properties,message_en_US.properties。。。等等文件
以下内容在spring-servlet.xml 中添加
配置I18N拦截器:
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>
定义本地化处理器:
<!--基于session-->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<!--
基于cookie
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />
基于请求
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"></bean>
-->
定义注解URL映射处理器 ,所有的请求映射必须关联本地化拦截器:
<bean id="defaultUrlMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order">
<value>1</value>
</property>
</bean>
页面使用
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<spring:message code="login.name" />