在Java中我使用的是
HashMap<String, String>
然后可以在我的freemarker模板中找到。
我可以像这样访问它
Time:${candidFieldsList["STD-TIME_Environmental_1"]}
这将从我的地图中提取关键字STD-TIME_Environmental_1的值,这很好用。现在我需要将它与列表结合起来以减少冗余代码。
我的模板中有一个区域需要重复4次
Time:${candidFieldsList["STD-TIME_Environmental_1"]}
与其他部分的区别仅在于数字,所以我尝试使用列表来解决这个问题。但它不起作用
<#list 1..4 as x>
Time:${candidFieldsList["STD-TIME_Environmental_"${x}]}
</#list>
它不返回键的值,而是返回解析器异常或此表达式的字符串。
freemarker.core.ParseException: Encountered "$" at line 4, column 50 in template.ftl.
期待以下之一: &#34;]&#34; ... &#34;&#34; ... &#34; [&#34; ... &#34;(&#34; ...... &#34;&#34; ... &#34;!&#34; ...
答案 0 :(得分:1)
尝试使用+
运算符连接字符串:
<#list 1..4 as x>
Time:${candidFieldsList["STD-TIME_Environmental_" + x]}
</#list>