2010-01-12 5 views

Antwort

89

Ihr Fehler bezieht sich auf Schlüssel und Wert als Methoden (mit Hinter „()“ Klammern) statt als Eigenschaften. Versuchen Sie folgendes:

#set ($map = $myobject.getMap()) 
#foreach ($mapEntry in $map.entrySet()) 
    <name>$mapEntry.key</name> 
    <value>$mapEntry.value</value> 
#end 

Mit anderen Worten, verwenden entweder eine Eigenschaft, wie mapEntry.key, oder das Verfahren, wie mapEntry.getKey().

4

Ich bin auf der Suche nach einer Möglichkeit, eine HashMap in Geschwindigkeit zu durchlaufen, und das wird auch funktionieren.

#set ($map = $myobject.getMap()) 
#foreach($key in $map.keySet()) 
     <name>$key</name> 
     <value>$resume.get($key)</value> 
#end 

Genau wie Sie eine HashMap in Java durchlaufen würden.

-1

Um zu verdeutlichen (ich kann nicht kommentieren), können Sie im Allgemeinen entweder die Java-Methoden verwenden, oder ersetzen Sie sie durch den entsprechenden Namen ohne einen kleinen Buchstaben und ohne ().

So $mapEntry.getKey() oder map.key.

0

Hier wird der Wert

itemsValue={data1=1,data2=2,data3=3} 

So müssen wir die Gruppe von Wert wiederholen;

foreach ($key in ${itemsValue.keySet()}) 
    if($itemsValue.get($key)==1) 
     Condition 
    end 
end 

In dem obigen Code können wir den Wert überprüfen, wird wie - „data1, Daten2 etc ...“ aber nach der get() verwenden, können wir in der Lage die Instanz Wert zu erhalten.