FreeMarker テンプレートの 1 つに、次のようなマクロのペアがあります。
<#macro RepeatTwice><#nested 1><#nested 2></#macro>
<#macro Destinations>
<#assign DestinationList = []>
<@RepeatTwice ; Index>
<#assign City == some XPath expression dependant on the index>
<#if City == something>
<#assign DestinationList = DestinationList + ["some string"]>
<#elseif City == something else>
<#assign DestinationList = DestinationList + ["some string"]>
</#if>
</@>
</#macro>
だから今、私の宛先リストには2つの値が含まれています. これは、挿入した場合、${DestinationList[0]}
または期待される出力を取得する${DestinationList[1]}
前に機能します。</#macro>
私の質問は --- 別のテンプレートで、このマクロからリスト全体をキャプチャして、必要なときにその要素にアクセスできるようにしたいと考えています。
このためには、リストの要素だけでなく、リスト全体を返すマクロが必要です。
ただし、DestinationList を挿入する${DestinationList}
か、単に DestinationList を挿入するとエラーが返されます。
などをやってみ${DestinationList[0,1]}
ましたが、何もうまくいかないようです。
これは可能ですか?
ありがとう、
バジル