相关疑难解决方法(0)

Freemarker迭代hashmap键

Freemarker有两种集合数据类型,列表和hashmaps有没有办法迭代hashmap键,就像我们对列表一样?

所以,如果我有一个带数据的var,那就说:

user : {
  name : "user"
  email : "looser@everything.com"
  homepage : "http://nosuchpage.org"
}
Run Code Online (Sandbox Code Playgroud)

我想用它们的值打印所有用户的属性.这是无效的,但目标很明确:

<#list user.props() as prop>
  ${prop} = ${user.get(prop)}
</#list>
Run Code Online (Sandbox Code Playgroud)

java freemarker

82
推荐指数
4
解决办法
10万
查看次数

Freemarker:如何使用枚举作为键来迭代Map

以下代码不起作用,因为Freemarker似乎将[]中的表达式的值转换为String,然后将其用作键,这不是实际预期的.

准备模板模型:

Map<MyEnum, Object> myMap;
myMap.put(MyEnum.FOO, "Foo");
myMap.put(MyEnum.BAR, "Bar");
templateModel.put("myMap", myMap);
Run Code Online (Sandbox Code Playgroud)

my.ftl:

<#list myMap?keys as key>
    <#assign value = myMap[key]>
    <li>${key} = ${value}</li>
</#list>
Run Code Online (Sandbox Code Playgroud)

Freemarker文档中,它描述了如何访问Enum本身,但我没有找到任何关于如何使用Enum作为键从哈希值中获取值的信息.

谢谢.

java enums freemarker key map

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

freemarker ×2

java ×2

enums ×1

key ×1

map ×1