0

我有一个freemarker问题。我有一个称为节点的哈希图,我像这样迭代它:

<#list hashmap.collection as nodes>
 .....some displaying
 <#assign nodeName>
${nodes.name}
 </#assign>
   <#list hashmap2.nodeName.collection as nodes2>
    .......some more displaying

这段代码不是因为freemarker试图在hashmap2中找到nodeName键......有没有办法在freemarker中做到这一点?

感谢您的回答!

4

1 回答 1

1

那应该是hasmap2[nodeName].collection。你后面.的内容总是被视为字面上的子变量名称,而在里面[]你可以给出一个任意表达式,只要它计算为一个字符串。因此,您可能根本不需要它#assign,您可以编写hashmap2[nodes.name].collection.

另外,<#assign nodeName>${nodes.name}</#assign>您应该只写<#assign nodeName = nodes.name>. 再次,如果您需要分配。

此外,由于nodes存储单个节点,如果您调用它,您的代码将更具可读性node

于 2013-06-16T21:46:22.507 回答