Loading...
Spring MVC i18n国际化配置

Spring专题 2015/12/18 Spring Framework

Spring MVC i18n国际化配置


#准备工作

该配置在Spring项目上进行自不必再说,另外还需要配置好Spring mvc


#message文件创建

message文件“welcome_en_US.properties”内容:

#welcome_en_US.properties

welcome.springmvc = Happy learning Spring MVC


message文件“welcome_zh_CN.properties内容:

#welcome_zh_CN.properties

welcome.springmvc = \u5feb\u4e50\u5b66\u4e60 Spring MVC



#向Spring mvc配置文件“spring-mvc.xml”中添加配置


<!-- 添加locate拦截器,拦截所有的控制器请求 -->

<mvc:interceptor>

<mvc:mapping path="/**"/>

<mvc:exclude-mapping path="/theme/**" />

<mvc:exclude-mapping path="/upload/**" />

<ref local="localeChangeInterceptor"/>

</mvc:interceptor>


<!-- i18n国际化配置 -->

<bean id="localeResolver"

class="org.springframework.web.servlet.i18n.SessionLocaleResolver">

<property name="defaultLocale" value="zh_CN" />

</bean>

<!-- i18n本地化设置拦截器 -->

<bean id="localeChangeInterceptor" 

class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">

<property name="paramName" value="language" />

</bean>

<!-- 添加message文件 -->

<bean id="messageSource"

class="org.springframework.context.support.ResourceBundleMessageSource">

<property name="basename" value="message/welcome" />

</bean>


#JSP页面

1、添加如下标签支持:

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


2、添加如下内容:

Language : <a href="?language=en_US">English</a>|<a href="?language=zh_CN">Chinese</a>

welcome.springmvc : <spring:message code="welcome.springmvc" text="default text" />

Current Locale : ${pageContext.response.locale}


#结语

上述过程简单记录spring mvc添加i18国际化配置支持,通过浏览器url请求来更改locate的值,messageSource根据不同的locate来切换展现的message内容,添加全局拦截器,所以控制器不需要添加额外的内容。


#参考文档

http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/



Comments