web-dev-qa-db-ja.com

Struts 2を使用してHashMap <String、ArrayList <String >>を反復する

私は現在、Struts2とs:iterateタグでいくつかの問題に直面しています。

HashMapの各要素について、HashMapのキーであるラベルと、それに続くArrayListのすべての要素を含むテーブル(HashMapの値)を表示したいと思います。

例えば、

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



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

HashMapの例をたくさん見ましたが、私の場合は見つかりませんでした。

これどうやってするの ?

おかげで、

21
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>

マップのイテレータはMap.Entryです。これは値スタックに配置され、getKey()とgetValue()という2つのアクセサがあります。キーを出力するエントリを反復処理し、次に値を出力する値を反復処理します。 (リスト項目は値スタックの一番上に置かれるため、s:propertyは単に一番上に出力します。)

28
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