第一步:新建下面properties两个文件,代表 一个英文,一个中文,还可以新建别的语言
hello_en_US.properties:
language.cn=中文
language.us=English
zsc=hello
hello_zh_CN.properties :
language.cn=中文
language.us=English
zsc=你好
第二步:配置ApplicationContext.xml文件
<!--字符国际化-->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="message"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="useCodeAsDefaultMessage" value="true"/>
</bean>
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptors>
<!--下面看情况配置那一种-->
<!--将语言信息设置到Session中,这样整个系统就可以获得语言信息-->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<!--如果没有Session,就用zh_CN-->
<property name="defaultLocale" value="zh_cn"/>
</bean>
<!--将语言信息设置到Cookie中,这样整个系统就可以获得语言信息-->
<!--<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">-->
<!--<!–Cookie实效时间120秒–>-->
<!--<property name="cookieName" value="language"/>-->
<!--<property name="cookieMaxAge" value="120"/>-->
<!--<!–如果没有Cookie,就用zh_CN–>-->
<!--<property name="defaultLocale" value="zh_CN"/>-->
<!--</bean>-->
第三步:视图层编辑
<body>
语言选择:
<a href="?lang=zh_CN"><spring:message code="language.cn"/></a>
<a href="?lang=en_US"><spring:message code="language.us"/></a>
<h1><spring:message code="zsc"/></h1>
<h2><fmt:message key="zsc"/></h2>
<h3>${msg}</h3>
当前语言: ${pageContext.response.locale }
</body>
取值方法有两种:
第一种:导入 fmt标签
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:message key="zsc"/>
第二种:导入spring标签
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:message code="zsc"/>
也可以用控制层取值:
@RequestMapping("/user")
public String user(HttpServletRequest request,Model model){
RequestContext context=new RequestContext(request);
String result=context.getMessage("zsc");
model.addAttribute("msg",result);
return "jsp/hello";
}
视图层用EL表达式取值
${msg}
|
|