Freemarker - 查询地图<Long, ...>
Freemarker - querying a Map<Long, ...>
在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>
然后我看到条目在那里。
项目 #64256 的值:true
项目 #0 的值:true
有没有办法查询 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)
。
在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>
然后我看到条目在那里。
项目 #64256 的值:true 项目 #0 的值:true
有没有办法查询 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)
。