我现在遇到一个问题,我在request中放入一个List<Map<String,String>>类型数据,现在我想遍历list,同时根据指定key值输出针对的value,不知道怎么做,求帮组!
大致代码如下:
   <logic:iterate id="archiveTemp" scope="request" name="archiveList" indexId="ind">
       <tr>
   <td>
<bean:write name="archiveTemp" property="destOrganID"/>
   </td>
      <tr>
   </logic:iterate>其中archiveList是后台已经封装的List<Map<String,String>>类型数据,destOrganID是期望的Key值问题补充:
    后台数据如下
        List<Map<String,String>> list=new ArrayList<Map<String,String>>();
        Map<String,String> map =new HashMap<String,String>();
        map.put("destOrganID","AAAAAAAAA");
        map.put("soucOrganID","BBBBBBBBB");
        list.add(map);
jsp

解决方案 »

  1.   

    首先其实建议楼主吧List改为一个对象,这样更符合java面向对象的概念。
    既然是jsp,那么你吧java代码加上<% %>不就好了?
    request可以当成一个map来看待,
    <%List<Map<String,String>> list=request.getAttribute("");%>
      

  2.   

    可以有两种方法:
    1.用过小脚本输入
    <%
      List<Map<String,String>> list = (List<Map<String,String>>)request.getAttribute("list");
    for(Map<String,String> map : list){
    response.getWriter().write("key"+" :"+ map.get("key"));
    }
    %>
    2.用C标签加EL表达式
    <c:forEach items="${requestScope.list}" var="map">
    key:${map['key']} 
    </c:forEach>
      

  3.   

    使用嵌套迭代即可:
    <logic:iterate id="archiveTemp" scope="request" name="archiveList" indexId="ind">
    <logic:iterate id="elementValue" scope="request" name="archiveTemp">
    <bean:write name="elementValue" property="key"/>
    <bean:write name="elementValue" property="value"/>
    </logic:iterate>
    </logic:iterate>
      

  4.   

    为啥后台没有看到request.setAttribute方法- -  你数据怎么传出去呢