当前位置: 首页 > 知识库问答 >
问题:

如何遍历freemarker FTL中最外层的哈希表

封烈
2023-03-14

JAVA代码中的映射

Map dataMap = new HashMap();
dataMap.("key1","value1");
dataMap.("key2","value2");
dataMap.("key3","value3");
dataMap.("key4","value4");
template.process(dataMap, out);
<#list dataMap.keySet() as k>
  <span>${k}:</span><span>dataMap[k]</span>
</#list>

那么如何在FTL中获得“key1”、“key2”、“key3”和“value1”、“value2”、“value3”的值呢?我尝试用“rootmap”、“.main”、“.vars”替换“datamap”。都无效。

共有1个答案

束新
2023-03-14

您可以使用.datamodel特殊变量,如下所示:

<#list .data_model?keys as prop>
    ${prop} - ${.data_model[prop]}
</#list>

请参见freemarker文档。

 类似资料:
  • 问题内容: 如何以相反的顺序遍历链接哈希表?地图中是否有预定义的方法可以做到这一点? 我创建它如下: 问题答案: List > list = new ArrayList<>(map.entrySet()); 确实不是很漂亮,但是要花费一个条目集的副本,如果您的地图上有很多条目,则可能会出现问题。 出色的Guava库具有一个,可让您将Java 5用于每个样式循环而不是索引循环:

  • 问题内容: Freemarker有两个集合数据类型,即列表和哈希图。有没有一种方法可以像对列表一样遍历哈希图键? 因此,如果我有一个带有数据的变量,则可以说: 我想用其值打印所有用户的属性。这是无效的,但目标很明确: 问题答案: 编辑: 不要在FreeMarker 2.3.25及更高版本中使用此解决方案,尤其是不要使用。查看其他答案。 您使用内置的按键功能,例如,这应该可以工作:

  • 层次遍历 给定二叉树的包含虚结点的先序遍历序列信息,按层次顺序给出遍历的结果。 输入格式: 首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据在一行中输入一个字符串(不含空格且长度不超过80),表示二叉树的先序遍历序列(其中@表示虚结点)。 输出格式: 对于每组测试,输出层次遍历的结果。 输入样例: 1 ABD@@EG@@@C@F@@ 输出样例: ABCDEFG 代码长度限制

  • def lookup(root): row = [root] while row: print(row) row = [kid for item in row for kid in (item.left, item.right) if kid]

  • 对于我的任务,我被要求提供以下内容: 创建