如何使用带有 hashmap 变量的 freemarker 列表
How to use freemarker list with hashmap variable
在 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>
它没有返回键的值,而是 returns 解析器异常或此表达式的字符串。
freemarker.core.ParseException: Encountered "$" at line 4, column 50 in template.ftl.
期待以下之一:
“]” ...
“。” ...
“[” ...
“(” ...
“?” ...
“!” ...
尝试使用 +
运算符连接字符串:
<#list 1..4 as x>
Time:${candidFieldsList["STD-TIME_Environmental_" + x]}
</#list>
在 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>
它没有返回键的值,而是 returns 解析器异常或此表达式的字符串。
freemarker.core.ParseException: Encountered "$" at line 4, column 50 in template.ftl.
期待以下之一: “]” ... “。” ... “[” ... “(” ... “?” ... “!” ...
尝试使用 +
运算符连接字符串:
<#list 1..4 as x>
Time:${candidFieldsList["STD-TIME_Environmental_" + x]}
</#list>