以下代码无法正常运行,因为Freemarker似乎会将[]内部表达式的值转换为字符串,然后将其用作键,这并不是实际预期的结果。
准备模板模型:
谢谢。
准备模板模型:
Map<MyEnum, Object> myMap;
myMap.put(MyEnum.FOO, "Foo");
myMap.put(MyEnum.BAR, "Bar");
templateModel.put("myMap", myMap);
my.ftl:
<#list myMap?keys as key>
<#assign value = myMap[key]>
<li>${key} = ${value}</li>
</#list>
在Freemarker文档中描述了如何访问枚举本身,但我没有找到有关如何使用枚举作为键从哈希中获取值的内容。谢谢。
mymap.get()
仅在某种object_wrapper
设置值(使用纯BeansWrapper
且simpleMaps=false
)下起作用,但强烈不建议使用该值,而且在现有应用程序中根本更改object_wrapper
很容易导致其崩溃。无论如何,请参阅我的答案以获得更“便携”的解决方案。 - ddekany