在Freemarker中,我有Map<Long, ...>
(密钥为Long
)。
Freemarker map[key]
仅支持字符串键。所以我尝试了map?api.get(0)
但行为就像价值不存在一样。但是,如果我做了
<#list statsForThisBox as projID, val>
Project #${projID?c} has value: <b>${val???c}</b>
</#list>
然后我看到条目在那里。
Project#64256的值为:true 项目#0的值为:true
有没有办法查询Map
Long
密钥?(除了在Java中创建特殊函数。)
编辑:我在考虑像
这样的东西map?api.get("java.util.Long"?new(123))
答案 0 :(得分:1)
由于getBoolean
getDate
getObject
getBigDecimal
签名无法帮助FreeMarker选择正确的数字类型(并且因为Java Map.get(Object)
在equals
个子类中是false
,即使他们的价值实际上是一样的),你必须告诉FreeMarker你想要什么类型:Number
。