Veloctiy中使用Spring国际化标签

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

现在改成Velocity,找到文档
macro VTL definition FTL 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的神奇---