【问题标题】:Iterate over an HashMap<String, ArrayList<String>> with Struts 2使用 Struts 2 遍历 HashMap<String, ArrayList<String>>
【发布时间】:2011-09-08 09:30:45
【问题描述】:

我目前在使用 Struts2 和 s:iterate 标签时遇到了一些困难。

我想显示一个标签,它是 HashMap 中的键,然后是一个包含 ArrayList 中每个元素的表(HashMap 中的值),用于 HashMap 中的每个元素。

例如,

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



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

我看到了很多关于 HashMap 的示例,但没有找到适合我的案例。

我该怎么做?

谢谢,

【问题讨论】:

  • 你使用什么视图技术 freemaker, jsp, ...?

标签: java struts2 iterator


【解决方案1】:
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>

【讨论】:

    【解决方案2】:
    <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 的迭代器是 Map.Entry,它被放入值堆栈并具有两个访问器,getKey() 和 getValue()。遍历打印键的条目,然后遍历打印值的值。 (列表项被放在值堆栈的顶部,因此 s:property 只打印顶部。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-26
    • 2013-07-29
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2013-05-27
    相关资源
    最近更新 更多