springMVC I18N 国际化

2017-09-30  本文已影响0人  不懂i_

Spring XML 配置

 <!-- 国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <!-- 表示多语言配置文件在根路径下,以language开头的文件-->
    <property name="basename" value="classpath:language"/>
    <property name="useCodeAsDefaultMessage" value="true"/>
</bean>



  <!-- 配置SessionLocaleResolver用于将Locale对象存储于Session中供后续使用 -->
<bean id="localeResolver"  
    class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean> 


    <!-- 配置LocaleChangeInterceptor 主要用于获取请求中的locale信息,将期转为Locale对像,获取LocaleResolver对象-->
<mvc:interceptors>
    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
  <!-- 自定义locael 拦截的名字 -->
        <property name="paramName" value="lang"/>
    </bean>
</mvc:interceptors>

jsp页面

 <%@ page language="java" contentType="text/html; charset=UTF-8"%>
 <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
<title>SpringMVC<spring:message code="internationalisation"/></title>
</head>
<body>
Language:
<a href="?lang=zh_CN"><spring:message code="language.cn"/></a>    
<a href="?lang=en_US"><spring:message code="language.en"/></a>
<h1>
    <spring:message code="welcome"/>
    <spring:message code="internationalisation"/>
</h1>
当前语言: ${pageContext.response.locale }
</body>

</html>

language_en_US.properties

  language.cn = \u4e2d\u6587
  language.en = English
  internationalisation = \u0020Internationalisation
  welcome = This is the English environment
  introduce= This is I18N Demo

language_zh_CN.properties

language.cn = \u4e2d\u6587
language.en = English
internationalisation = \u56fd\u9645\u5316  \u8428\u82AC\u65AF\u8482\u82AC
welcome = \u8fd9\u662f\u4e2d\u6587\u73af\u5883
introduce= \u8fd9\u662f\u56fd\u9645\u5316\u7684\u4e8b\u4f8b
上一篇 下一篇

猜你喜欢

热点阅读