文字列と入力変数の連結の補間を返すことができるFreeMarkerマクロを作成しようとしています。
<#macro findValue var>
<#if (.vars["foo." + var]) ??>
.vars["foo." + var]
<#else>
${.vars["bar." + var]}
</#if>
</#macro>
残念ながら、それは機能しません。まず、${.vars["bar." + var]}
エラーが発生しundefined
ます。次に、サブ変数が存在することがわかった場合でも、if
条件は常に返されます。変数はルート変数のみを検索できfalse
、のようなサブ変数は検索できないようです。.vars
foo.test