Freemarker: Dynamische Interpolation von Subvariablen
Ich versuche, ein FreeMarker-Makro zu erstellen, das die Interpolation einer Verkettung eines Strings und der Eingabevariablen zurückgeben kann:
<#macro findValue var>
<#if (.vars["foo." + var]) ??>
.vars["foo." + var]
<#else>
${.vars["bar." + var]}
</#if>
</#macro>
Leider klappt es nicht. Zuerst,${.vars["bar." + var]}
gibt eineundefined
Error. Zweitens dieif
Zustand kehrt immer zurückfalse
Auch wenn ich sehe, dass die Subvariable existiert. Es scheint wie das.vars
Variable kann nur nach Root-Variablen suchen, nicht aber nach Sub-Variablen wiefoo.test
.