<#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中做到这一点?
感谢您的回答!
答案 0 :(得分:1)
那应该是hasmap2[nodeName].collection
。在.
之后放置的内容始终被视为字面上子变量名称,而在[]
内,只要求值为字符串,就可以给出任意表达式。因此,您可能根本不需要#assign
,您可以写hashmap2[nodes.name].collection
。
此外,您应该只写<#assign nodeName>${nodes.name}</#assign>
而不是<#assign nodeName = nodes.name>
。同样,如果您需要任务。
此外,由于nodes
存储了一个节点,因此如果您将其称为node
,您的代码将更具可读性。