【发布时间】:2019-06-07 13:42:25
【问题描述】:
也许是因为现在是英国的星期五下午,我的大脑已经决定放慢速度,急切地期待周末,但我已经用 Apache Velocity 让自己陷入了困境,我希望你们中的一个可爱互联网上的人将能够重新启动我的大脑。
我的疯狂用例如下:
#foreach( $item in $array )
#set($myVariable = "#customDirective('a.key.with.the.${foreach.index}')")
#end
我有一个 for 循环来遍历一个列表,然后对于该列表中的每个项目,我调用一个自定义指令,该指令接受一个参数,该参数是一个预定义的键,循环索引构成其中的一部分。我将自定义指令的结果设置为一个变量,以便以后可以使用它。
现在,我知道单引号 (') 内的任何内容都被视为文字,而双引号 (") 内的任何内容都会被解析。所以我看到发生的事情是,当我注销自定义指令,${foreach.index} 没有被解析为一个值,而是被视为字符串文字。
在这种情况下,我为指令构造输入参数的正确方法是什么?
我使用的是 Velocity 2.0 版,但可以根据需要升级或降级。
【问题讨论】:
标签: apache interpolation velocity