1.xml文件配置
<!-- 国际化 -->
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="cacheSeconds" value="5" />
<!-- 资源刷新间隔时间 -->
<property name="basenames">
<list>
<!-- 文件示例 -->
<!-- /src/config/i18n/messages_en_US.properties -->
<!-- /src/config/i18n/messages_zh_CN.properties -->
<value>spring.i18n.messages</value>
</list>
</property>
</bean>
<!-- 基于Session的国际化配置 -->
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<!-- 国际化操作 拦截器 必需配置,可以和其它国际化方式通用 -->
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
2.资源文件
3.contorller
protected String getMessage(HttpServletRequest request,String key){
String langType = request.getHeader("langType");
// 国际化配置语言
if (CHINESE.equals(langType)) {
Locale locale = new Locale("zh", "CN");
request.getSession()
.setAttribute(
SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,
locale);
} else if (ENGLISH.equals(langType)) {
Locale locale = new Locale("en", "US");
request.getSession()
.setAttribute(
SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,
locale);
} else{
request.getSession().setAttribute(
SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,
LocaleContextHolder.getLocale());
}
RequestContext requestContext = new RequestContext(request);
String msg = requestContext.getMessage(key);
return msg;
}