Spring中改变国际化Locale配置:
1)创建国际化properties文件:
message-common_en_US.properties
message-common_ko_KR.properties
message-common_zh_CN.properties
文件中内容分别如下:
main.menu.manager
=
manager
main.menu.manager
=
관리자
main.menu.manager
=
管理者
2)
在applicationContext.xml中配置如下
:
以下配置为国际化配置:
a.多个
properties文件时:
<bean id= "messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" > <property name="basenames" > <list> <value> classpath:/egovframework/message/message-common</value > </list> </property> <property name="cacheSeconds" > <value> 60</ value> </property> </bean>
b.单个properties文件时:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" > <property name="basename" value="classpath:/egovframework/message/message-common" /> </bean >
以下配置为不使用系统Locale需要根据需要改变Locale时的配置:
<bean id= "localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /> <bean id= "localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" > </bean>
3)java文件中如下:
LocaleResolver localResolver = new SessionLocaleResolver();
Locale locale = new Locale("zh" , "CN" );
localResolver.setLocale(request, response, locale);
4)JSP页面使用国际化如下:
<%@ page contentType = "text/html; charset=utf-8" pageEncoding = "utf-8"%>
<%@ taglib prefix = "spring" uri = "http://www.springframework.org/tags"%>
<a id = "m02" href = "#none">
<spring:message code= "main.menu.manager" />
</a>