2017-10-04 20 views
0

En Freemaner, j'ai un Map<Long, ...> (les clés sont Long).Freemaker - interrogation d'une carte <Long, ...>

Le map[key] de Freemaner ne prend en charge que les clés de chaîne. J'ai donc essayé map?api.get(0) mais cela se comporte comme si la valeur n'était pas là. Pourtant, si je le fais

<#list statsForThisBox as projID, val> 
Project #${projID?c} has value: <b>${val???c}</b> 
</#list> 

Ensuite, je vois que les entrées sont là.

Projet # 64256 a une valeur: true Project # 0 a une valeur: true

est-il un moyen d'interroger une Map pour une clé Long? (. Autre que la création d'une fonction spéciale en Java)

Edit: Je pense à quelque chose comme

map?api.get("java.util.Long"?new(123)) 

Répondre

1

Comme la signature Map.get(Object) ne permet pas FreeMarker à choisir le type numérique (et parce que Java equals est false parmi les différentes sous-classes Number, même si leurs valeurs sont vraiment les mêmes), vous devez dire à FreeMarker quel type vous voulez: map?api.get(123?long).