0
我想创建一个FreeMarker的宏可以返回一个字符串的串联和输入变量的插值的动态插补。首先,${.vars["bar." + var]}
给出undefined
错误。其次,if
条件总是返回false
,即使我可以看到子变量确实存在。看来.vars
变量只能查找根变量,而不能查找像foo.test
这样的子变量。
我想创建一个FreeMarker的宏可以返回一个字符串的串联和输入变量的插值的动态插补。首先,${.vars["bar." + var]}
给出undefined
错误。其次,if
条件总是返回false
,即使我可以看到子变量确实存在。看来.vars
变量只能查找根变量,而不能查找像foo.test
这样的子变量。
在FreeMarker的,foo.bar
是一样的foo["bar"]
,但[]
内部的评估为一个字符串,你可以有任意表达式。所以你正在寻找的表达只是foo[var]
。
顺便说一句,你的宏试图做的只是${foo[var]!bar[var]}
它完美的作品。谢谢你的帮助。 – AndersBaumann
好。但是,那么你应该“接受”然后回答。 – ddekany
对不起。我希望现在已经修复。 – AndersBaumann