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

Ste*_*eve 5 templates freemarker

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

${outter.inner.assignThisGuy.field1}
Run Code Online (Sandbox Code Playgroud)

并且想参考最低级别,即

${assignThisGuy.field1}
Run Code Online (Sandbox Code Playgroud)

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

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

freemarker.template.TemplateException: Expected hash. thisGuy evaluated instead to freemarker.template.SimpleScalar 
Run Code Online (Sandbox Code Playgroud)

我尝试过各种变化:

[#assign thisGuy = "${outter.inner.assignThisGuy}" ]
Run Code Online (Sandbox Code Playgroud)

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

dde*_*any 6

有可能,像这样:

<#assign thisGuy = outter.inner.assignThisGuy>
...
${thisGuy.field1}
Run Code Online (Sandbox Code Playgroud)