en vélocité pouvez-vous parcourir le jeu d’entrées de hashmap java ()?

Pouvez-vous faire quelque chose comme ça dans un modèle de vélocité?

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

il génère des balises vierges comme ceci:

  

et

  

Qu’est-ce que je fais mal?

Votre erreur fait référence à key et value en tant que méthodes (avec des parenthèses “()”) au lieu de propriétés. Essaye ça:

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

En d’autres termes, utilisez une propriété, comme mapEntry.key , ou la méthode, comme mapEntry.getKey () .

Je cherche un moyen de parcourir une HashMap en vélocité, et cela fonctionnera aussi.

 #set ($map = $myobject.getMap()) #foreach( $key in $map.keySet()) $key $resume.get($key) #end 

Tout comme la façon dont vous parcourriez une HashMap en Java.

Ici la valeur

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

Donc, nous devons itérer le groupe de valeur;

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

Dans le code ci-dessus, nous pouvons voir que la valeur sera comme “data1, data2 etc …” mais après avoir utilisé get (), nous pouvons obtenir la valeur de l’instance.

Pour clarifier (je ne peux pas commenter), en général, vous pouvez utiliser les méthodes Java get ou les remplacer par le nom correspondant sans une petite lettre et sans () .

Donc $mapEntry.getKey() ou map.key .