我已经在Velocity中创建了两个用于国际化的自定义指令,另一个用于日期格式化。他们自己工作得很好,但是现在我需要将一个嵌套在另一个中:
#msg('a_resource','TODAY',#date(1234567890900,'date')))!
然而,由于我得到以下异常,这并不起作用。
org.apache.velocity.exception.ParseErrorException: Invalid arg #2 in directive #msg at dateTemplate[line 1, column 5]
如何调用#date
指令并将其传递给另一个指令?
答案 0 :(得分:0)
您需要在指令调用周围添加双引号:"
#msg('a_resource','TODAY',"#date(1234567890900,'date')"))!
Velocity将使用双引号评估任何内容(如变量,方法,以及此处所需的:指令)
请参阅:https://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html#stringliterals
答案 1 :(得分:0)
使用:
#msg('a_resource','TODAY',"#date(1234567890900,'date')"))!