web-dev-qa-db-fra.com

Itérer sur un objet HashMap <String, ArrayList <String >> avec Struts 2

Je suis actuellement confronté à des difficultés avec Struts2 et le tag s: iterate.

Je souhaite afficher une étiquette, qui est la clé dans HashMap, suivie d'un tableau (la valeur dans HashMap) contenant tous les éléments de ArrayList, pour chacun des éléments de HashMap.

Par exemple,

     label
  ----------
  | test1  |
  ----------
  | test2  |
  ----------



    label2
  ----------
  | test1  |
  ----------
  | test2  |
  ----------

J'ai vu beaucoup d'exemples pour un HashMap mais je n'en ai trouvé aucun pour mon cas.

Comment puis-je faire ceci ?

Merci,

20
Zeym
<s:iterator value="map">
  <h3><s:property value="key" /></h3>
  <table>
  <s:iterator value="value">
    <tr><td><s:property /></td></tr>
  </s:iterator>
  </table>
</s:iterator>

L'itérateur d'une carte est Map.Entry qui est placé sur la pile de valeurs et possède deux accesseurs, getKey () et getValue (). Itérez sur Entrée en imprimant la clé, puis parcourez les valeurs en imprimant la valeur. (L'élément de liste est placé en haut de la pile de valeurs, alors la propriété s: property affiche simplement le haut.)

29
NKijak
Map<String,List<String>> mapVo=new  HashMap<String,List<String>>();
<s:iterator value="mapVo"  var="mapList" status="status">
 <table>
    <s:property value="#status.index"></s:property>
   <s:property value="key"></s:property>
   <s:iterator  value="mapList" var="item" status="rowstatus">
     <tr>
       item
     </tr>
   </s:iterator>
 </table>
</s:iterator>
0
P Rajesh