首页 > 解决方案 > Freemarker 宏中的 Hashmap 不起作用

问题描述

我需要遍历 freemarker 宏中的哈希图。但由于某种原因它不起作用,我找不到我的错误。

这是我为测试迭代而编写的宏:

<#macro listtest products>

    <#list products as name, price >
        ${name}: ${price} <br>
    </#list>

</#macro>

这是我写的例子:

<@listtest products={ "apple": 5, "banana": 10, "kiwi": 15 } />

我收到以下关于“<#list products as name, price >”行的错误消息:

遇到“,”,但期待:“>”

我在这里做错了什么?

标签: javalisthashmapmacrosfreemarker

解决方案


您可以使用?keys迭代 JSON 条目:

<#list products?keys as k>
  ${k} : ${products[k]} <br>
</#list>

推荐阅读