最新版本 FreeMarker 2.3.30 发布时间是:2020年3月5日。这个版本最低配置需要 Java 7。

FTL部分的更新:

增加内置函数:?with_args(dynamicArguments) 和 ?with_args_last(dynamicArguments),可以动态地向指令(如宏)、函数和方法调用添加参数。

例如,定义了一个宏 m:

<#macro m a b c> a=${a}, b=${b}, c=${c}</#macro>

通常情况下,使用宏的方式为:

<@m a=1 b=2 c=3 />

现在你可以这么使用了:

<!-- 假设 dynArgs 为哈希:{'a': 1, 'b': 2, 'c': 3} -->

<@m?with_args(dynArgs) />

输出为:

a=1, b=1, c=1