A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第一步:新建下面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">-->
        <!--&lt;!&ndash;Cookie实效时间120秒&ndash;&gt;-->
        <!--<property name="cookieName" value="language"/>-->
        <!--<property name="cookieMaxAge" value="120"/>-->
        <!--&lt;!&ndash;如果没有Cookie,就用zh_CN&ndash;&gt;-->
        <!--<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}


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马