springmvc 国际化

本文深入探讨了成为架构师的关键因素,通过国际化文件配置、控制器实现以及请求上下文管理,展示了普通码农与架构师在技能和思维方式上的差异。文章详细解释了如何使用Spring框架进行国际化处理,并通过实例展示了如何在控制器中获取和展示国际化信息。

国际化文件

142606_SauX_1388758.png

<!--国际化 start  -->
<!-- 拦截所有路径 -->
<mvc:interceptors>
    <ref bean="localeChangeInterceptor"/>
</mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
    
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 国际化信息所在的文件名 -->
    <property name="basename" value="messages" />
<!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
    <property name="useCodeAsDefaultMessage" value="true" />
</bean>
<!-- 国际化end -->

controller

RequestContext requestContext = new RequestContext(request);
        model.addAttribute("money", requestContext.getMessage("money"));
        model.addAttribute("date", requestContext.getMessage("date"));

        
        FormatModel formatModel=new FormatModel();

        formatModel.setMoney(12345.678);
        formatModel.setDate(new Date());
        
        model.addAttribute("contentModel", formatModel);

jsp页面

<a href="test?locale=zh_CN">中文</a> | <a href="test?locale=en_US">英文</a><br/>
    下面展示的是后台获取的国际化信息:<br/>
    ${money}<br/>
    ${date}<br/>
    下面展示的是视图中直接绑定的国际化信息:<br/>
    <spring:message code="money"/>:<br/>
    <spring:eval expression="contentModel.money"></spring:eval><br/>
    <spring:message code="date"/>:<br/>
    <spring:eval expression="contentModel.date"></spring:eval><br/>


转载于:https://my.oschina.net/zvc/blog/654173

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值