在Freemarker模板中为变量分配变量

时间:2013-12-06 16:39:17

标签: templates freemarker

我试图避免反复引用这样的对象:

${outter.inner.assignThisGuy.field1}

并想参考最低级别,即

${assignThisGuy.field1}

这将帮助我删除重复的空检查并使我的模板更整洁。我不确定这是否可行。所有注释都指的是将变量分配给类型,如?string,?date等。

当我尝试这样做时,我得到一个例外:

freemarker.template.TemplateException: Expected hash. thisGuy evaluated instead to freemarker.template.SimpleScalar 

我尝试过各种变体:

[#assign thisGuy = "${outter.inner.assignThisGuy}" ]

我只是想确定在我的一些线条长度变大之前这是不可能的!

1 个答案:

答案 0 :(得分:6)

有可能,像这样:

<#assign thisGuy = outter.inner.assignThisGuy>
...
${thisGuy.field1}