使用s:iterator解析Struts2标记中的Hashmap的ArrayList

时间:2015-03-29 12:55:23

标签: java arraylist struts2 hashmap dynamic-arrays

我的ArrayList包含HashMap,我正在尝试使用Struts ArrayList标记迭代HashMap s:iteratorList。我可以毫无问题地遍历import com.opensymphony.xwork2.ActionSupport; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class mapTest extends ActionSupport { public List<Map> listmap; public String execute() { listmapObject = new ArrayList(); Map map = new HashMap(); map.put("stationId", "alpha"); map.put("stationName", "USA"); map.put("CustomerName", "charlie"); Map map2 = new HashMap(); map2.put("stationId", "Beta"); map2.put("stationName", "UK"); map2.put("CustomerName", "johnny"); listmapObject.add(map); listmapObject.add(map2); return SUCCESS; } } ,但我不能让它迭代遍历地图的条目。到目前为止,我有这个:

s:iterator

我需要使用struts <table> <thead> <th> <Station id> </th> <th> station Name </th> <th> Name </th> </thead> <s:iterator value="listmapObject"> <tr> <td> ((HashMap) listmapObject.get(i)).get("stationId") </td> <td> ((HashMap) listmapObject.get(i)).get("stationName") </td> <td> ((HashMap) listmapObject.get(i)).get("CustomerName") </td> </tr> </s:iterator> </table>

的结果,如下面的Java代码
{{1}}

感谢大家帮助我

1 个答案:

答案 0 :(得分:1)

我对Struts的JSP组件不太熟悉,但我认为以下内容应该有效:

 <s:iterator value="listmapObject">
     <tr>
         <td><s:property value="[0]['stationId']" /></td>
         <td><s:property value="[0]['stationName']" /></td>
         <td><s:property value="[0]['CustomerName']" /></td>
     </tr>
 </s:iterator>

根据documentation[0]表示列表项,因此在这种情况下,您的HashMap