【问题标题】:iterate list of values from hashmap in FreeMarker从 FreeMarker 中的 hashmap 迭代值列表
【发布时间】:2021-08-06 16:13:25
【问题描述】:

我需要在 freemarker 中迭代哈希映射。

我的哈希映射值:

 {
  key : [{"a":"c"},{"a":"d"}]
}

需要像这样迭代这个值

<#list map?keys as key>
    ${values} = ${map.get(key)}
    <#list values as value>
     <div>${value.a}</div>
    </#list>  
</#list>  

但我得到了例外:

content: Expected a string or something automatically convertible to string (number, date or boolean), but this evaluated to a sequence (wrapper: f.t.SimpleSequence):

如何使用 freemarker 2.3.20 进行迭代。

提前致谢。

【问题讨论】:

  • 尝试使用&lt;#assign values = map.get(key)&gt; 而不是${values} = ${map.get(key)}
  • @JasperdeVries 映射具有值列表但返回 null 或缺少异常

标签: freemarker


【解决方案1】:

像这样:

<#list map as key, values>
  <#list values as value>
   <div>${value.a}</div>
  </#list>  
</#list>

此外,如果您需要通过键访问映射中的值,而不是成对列出它们(如上),语法是 map[key],而不是 map.get(key)(除非您必须使用 Java API 的某些设置)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 2016-01-03
    • 1970-01-01
    相关资源
    最近更新 更多