2012-09-12 54 views
0

我想创建一个FreeMarker的宏可以返回一个字符串的串联和输入变量的插值的动态插补。首先,${.vars["bar." + var]}给出undefined错误。其次,if条件总是返回false,即使我可以看到子变量确实存在。看来.vars变量只能查找根变量,而不能查找像foo.test这样的子变量。

回答

1

在FreeMarker的,foo.bar是一样的foo["bar"],但[]内部的评估为一个字符串,你可以有任意表达式。所以你正在寻找的表达只是foo[var]

顺便说一句,你的宏试图做的只是${foo[var]!bar[var]}

+0

它完美的作品。谢谢你的帮助。 – AndersBaumann

+0

好。但是,那么你应该“接受”然后回答。 – ddekany

+0

对不起。我希望现在已经修复。 – AndersBaumann

相关问题