に 2 つのMap
オブジェクトを配置ArrayList
し、arraylist のインデックスに基づいて異なるデータを表示したい場合、Java コードは次のようになります。
List<Map<String, Object>> value = new ArrayList<Map<String, Object>>();
value.add(originalUnitProps);
value.add(nowUnitProps);
そして、以下は私のテンプレートファイルです:
<#list value as ori>
<#if ori_index == 0>
original info:<br/>
<#list ori?keys as key>
${key}:${ori[key]} <br/>
</#list>
<#else>
<br/>
now info:<br/>
<#list ori?keys as key>
${key}:${ori[key]} <br/>
</#list>
</#if>
</#list>
ただし、例外が発生します。
java.lang.IllegalArgumentException: freemarker.template.DefaultObjectWrapper は java.util.ArrayList を TemplateHashModel に変換できませんでした。