当前位置: 代码迷 >> Java Web开发 >> s:iterator 迭代 按动态名取List<Map<String,object>>解决方案
  详细解决方案

s:iterator 迭代 按动态名取List<Map<String,object>>解决方案

热度:2855   发布时间:2013-02-25 21:21:47.0
s:iterator 迭代 按动态名取List<Map<String,object>>
有一个listMap需要页面迭代
List<Map<String,object>> listMap = new ArrayList<Map<String,Object>> ();

每次迭代的map如下
Map<String,Object> map =new HashMap<String,Object>(); 
 map.put("column1", "value1");map.put("column3", "value3");map.put("column2", "value2");...

要求按column的序号输出 
若map只存3个 页面可写如下
HTML code
<s:iterator value="listMap" status="infoList" id="listMapid">    <tr>        <td ><s:property value="column1"/></td>        <td ><s:property value="column2"/></td>        <td ><s:property value="column3"/></td>    </tr></s:iterator>


若map的数量不固定 如何按顺序取


------解决方案--------------------------------------------------------
页面上可以用<s:if test=""/> 处理逻辑的
------解决方案--------------------------------------------------------
若map的数量不固定

可以将map里的数据取出,放在list中,然后在页面遍历这个list,就不需要按key取值了
------解决方案--------------------------------------------------------
<td ><s:property value="listMapid.key"/></td>肯定是可以的。。。
------解决方案--------------------------------------------------------
探讨

<td ><s:property value="listMapid.key"/></td>肯定是可以的。。。

------解决方案--------------------------------------------------------
3L的很想试试..
我认为还是用那个<s:if/>标签进行页面的逻辑处理,我在做页面的分页的时候经常用这个
------解决方案--------------------------------------------------------
HTML code
<c:forEach var="bm" items="${data}">   <c:forEach var="b" items="${bm.map}">          ${b.key}          ${b.value}    </c:forEach></c:forEach>
  相关解决方案