Freemarker - 查询地图
问题描述:
在Freemarker中,我有一个Map<Long, ...>
(关键是Long
)。Freemarker - 查询地图<Long, ...>
Freemarker的map[key]
只支持字符串键。所以我试过map?api.get(0)
,但表现得像价值不在那里。然而,如果我做
<#list statsForThisBox as projID, val>
Project #${projID?c} has value: <b>${val???c}</b>
</#list>
然后我看到条目在那里。
项目#64256具有价值:真 项目#0具有价值:真
有没有一种方法来查询Map
为Long
关键?(除了创建Java中的一个特殊功能)
编辑:我想到的是像
map?api.get("java.util.Long"?new(123))
答
由于Map.get(Object)
签名不帮助FreeMarker的选择合适的数值型(和因为Java equals
是false
之间不同的Number
子类,即使它们的值是真的相同),你必须告诉FreeMarker你想要什么类型:map?api.get(123?long)
。