Spring框架学习(9)SpringMVC国际化(多语言)

前言

记录学习历程

SpringMVC国际化

SpringMVC提供了对国际化的支持,使用ResourceBundleMessageSource实现国际化资源的定义
例:
(1)配置springmvc.xml配置文件

    <!--配置ResourceBundleMessageSource-->
   <!-- basename属性指定文件的基名,这里是资源文件以mess打头-->
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename" value="mess"/>
    </bean>
    <!--配置SessionLocaleResolver,用于将local对象存储于Session中-->
    <bean id="localResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
    <!--配置LocaleChangeInterceptor,用于获取请求中的locale信息,将其转为Locale对象,获取LocaleResolver对象-->
    <mvc:interceptors>
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"></bean>
    </mvc:interceptors>

(2)在src目录下创建国际化资源属性文件
mess_en_US.properties,mess_zh_CN.proerties
创建file文件改后缀得到

mess_en_US.properties:

loginName=LoginName
loginPwd=LoginPwd

mess_zh_CN.properties

loginName=\u728\u6237\u540D
loginPwd=\u5BC6\u7801

(3)在HelloController类中添加方法

//国际化
    //Locale 表示地区,每一个Locale对象都代表了一个特定的地理、政治和文化地区
    @Autowired
    private ResourceBundleMessageSource messageSource;
    @RequestMapping(value = "/localeChange")
    public String localeChange(Locale locale) {
        //MessageSource接口,以用于支持信息的国际化和包含参数的信息的替换
        String u = messageSource.getMessage("loginName",null,locale);
        System.out.println("国际化资源文件Locale配置(loginName):"+u);
        return "login";
    }

    @RequestMapping("/toLocale")
    public String toLocale(){
        return "login";
    }

(4)index.jsp加一个跳转到login.jsp界面的超链接
新建login.jsp
index.jsp超链接

 <a href="/springmvc/toLocale">TO LocaleChange</a>

新建login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"  %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <a href="/springmvc/localeChange?locale=zh_CN">中文</a><br>
    <a href="/springmvc/localeChange?locale=en_US">英文</a><br>
    <fmt:message key="loginName"/><br>
    <fmt:message key="loginPwd"/><br>
</body>
</html>

login.jsp页面头部使用taglib指令引入JSTL的fmt标签
项目中需要加入两个包
在这里插入图片描述
(5)测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值