一、配置xxx-servlet.xml(xxx是项目名称)
<!-- 资源国际化相关配置 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> <property name="useCodeAsDefaultMessage" value="true" /> <!-- 默认编码格式为 utf-8 --> <property name="defaultEncoding" value="UTF-8" /> <!-- 国际化信息所在的文件名 --> <property name="basenames"> <list> <value>messages123</value> </list> </property> </bean> <!-- 存储区域设置信息SessionLocaleResolver类通过一个预定义会话名将区域化信息存储在会话中从session判断用户语言defaultLocale :默认语言--> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> <!-- <bean id="localeResolver" class="org.springframework.web.servlet.i18n.FixedLocaleResolver"> --> <property name="defaultLocale" value="zh_CN" /> </bean> <!--该拦截器通过名为”lang”的参数来拦截HTTP请求,使其重新设置页面的区域化信息--> <mvc:interceptors> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="lang" /> </bean> </mvc:interceptors>
二、jsp页面的引用方式
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="spring" uri="http://www.springframework.org/tags" %> <html> <body> <a href="/xxx/index"><spring:message code="login"/></a> </body> </html>
三、默认的初始页面需要经过spring controller渲染返回,结合tiles的配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> <tiles-definitions> <definition name="baseLayout" template="/star-view/tiles/main_t.jsp"> <put-attribute name="menu" value="/star-view/tiles/menu_t.jsp"/> </definition> <definition name="index" template="/star-view/index.jsp"> </definition> <definition name="/" extends="index"> </definition> <definition name="*" extends="baseLayout"> <put-attribute name="body" value="/star-view/{1}.jsp"/> </definition> </tiles-definitions>