国际化

发表时间:2017-07-18 18:38:21 浏览量( 43 ) 留言数( 0 )

学习目标:

1、了解Spring对国际化的支持操作


学习过程:

1、编写国际化文件

作为一个这么强大的mvc框架,当然也会对国际化进行支持。在目录src/main/resources下面建立两个国际化文件message_en_US.properties和message_zh_CN.properties,如果你是使用Eclipse,那么默认对中文是不会进行编码的,建议你可以使用MyEclipse编辑完成后在复制过来,当然你也可以使用native2ascii,相关内容你可以自己上网查询一下。这里就不做过多的讨论了。

message_en_US.properties文件如下:

language.cn=\u4E2D\u6587
language.en=English

username=liubao

message_zh_CN.properties文件内容,已经编码如下:

language.cn=\u4E2D\u6587
language.en=English

username=\u5218\u4FDD

2、配置

我们还需要修改applicationContext.xml,指定国际化配置文件的名称

  <!-- 国际化资源文件 id必须为messageSource -->
	<bean id="messageSource"
		class="org.springframework.context.support.ResourceBundleMessageSource">
		  <!-- 表示多语言配置文件在根路径下,以message开头的文件-->
		<property name="basename" value="message" />
		<property name="useCodeAsDefaultMessage" value="true" />
	</bean>
	<!-- 动态切换国际化 ,国际化放在session中 -->
	 <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
	 
	 <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
	  <mvc:interceptors>
        <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
             <!-- 通过这个参数来决定获取那个配置文件 -->
            <property name="paramName" value="lang"/>
        </bean>
    </mvc:interceptors>

3、如何在页面中读取配置文件

我们可以使用spring的标签读取,首先引入标签

<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>

读取内容

   国际化:
    <a href="?lang=zh_CN"><spring:message code="language.cn"/></a> &nbsp;&nbsp;&nbsp;
    <a href="?lang=en_US"><spring:message code="language.en"/></a>
   <spring:message code="username" ></spring:message>


效果如下:

attcontent/193eb984-9189-4c06-9da6-d2d22d47d508.png