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