Veloctiy中使用Spring国际化标签

本文讲述了在使用Spring框架进行国际化处理时遇到的问题及解决方案。作者最初使用JSP页面中的<spring:message>标签,但因版本不匹配导致调试困难。后来改用Velocity模板引擎,并详细介绍了如何使用#springMessageText宏来实现类似功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前在Jsp页面中写了国际化处理:<spring:message>标签。
教训小插曲:看的1.2.6的Document,但是下的包是1.1版本的,怎么调试都出问题, 最后看tld发现很不对劲才找出错误所在。

现在改成Velocity,找到文档
macroVTL definitionFTL definition
message (output a string from a resource bundle based on the code parameter)#springMessage($code)<@spring.message code/>
messageText (output a string from a resource bundle based on the code parameter, falling back to the value of the default parameter)#springMessageText($code $default)<@spring.messageText code, default/>

乍一看,晕呼,居然只有 #springMessageText( $code $default) ,没有arguments,功能损失很大阿。嗷嗷嗷了几声之后,仔细看文档,Ft,此default非彼default,正是parameter。
再一尝试,惊为天人,五体投地。#springMessageText( $code $default) 事实上等价于spring在Jsp下的2个标签,如果国际化Key是带参数的,那么第二个参数就是参数(参数数组);如果国际化Key不是带参数的,那么第二个参数就是default值。
越用越感觉到Spring的神奇---








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值