没人会吗?
我要的主要目的是,我返回的arraylist包含了一个hashmap,然后这个hashmap里面又包含了两个arraylist里面,然后这两个arraylist里面包含了我要的数据。
我用logic迭代标签,该怎么做,有没有人能举个例子?

解决方案 »

  1.   

    先用session传值,好像只能是session...
    下面是我自己用过的,LZ可以参照一下
    HttpSession session = request.getSession();
    session.setAttribute("phoneBooks", phonebookDAO.findPages(
    (currentPage - 1) * 10 + 0));
    ---------------------------------------------
    然后取出来就ok<logic:iterate id="element" name="phoneBooks">
    <tr valign="top"><!-- row 3 -->
        <td background="images\gb.gif" width="124" height="28" border="0">&nbsp;
        <img src="images\rabbit.gif" border="0">
        <logic:present name="isAdmin">
        <a href="findById.do?id=<bean:write name='element' property='id'/>" target="display"><font size=2><bean:write name="element" property="name"/></font></a>
        <a href="delete.do?id=<bean:write name='element' property='id'/>" target="display"><img src="images\del.gif" border="0"></a>
        </logic:present>
        <logic:notPresent name="isAdmin">
        <a href="main.do?page=<bean:write name='menu' property='currentPage'/>&id=<bean:write name='element' property='id'/>"><font size=2><bean:write name="element" property="name"/></font></a>
        </logic:notPresent>
        </td> 
        <td height="28" width="6"><img src="images\shim.gif" width="1" height="28" border="0"></td>
       </tr>
        </logic:iterate>
      

  2.   

    用HashMap存的数据好像没办法用logic:iterate做迭代,因为hashMap不满足标准的bean,对于key,value都没有get方法.建议先对hashMap封装一下.
      

  3.   

    你的数据封装了2层
    <logic:itrator>也要嵌套才能取出来
    写法和一层是一样的
    注意命名和标签匹配就行了
      

  4.   

    类似
    <logic:iterate   id="bakodosakuseiform"   name="resultlist">   
                <td   width="27"   height="25"align="right">   
                    <bean:write   name="bakodosakuseiform"   property="userid"   />   
                </td>   
                <td   width="27"   height="25"align="right">   
                    <bean:write   name="bakodosakuseiform"   property="username"   />   
                </td>   
          </logic:iterate>
      

  5.   

    不好意思,上面说错了,原来struts对HashMap支持遍历.正确做法是:<logic:iterate name="queryResult" id="qr">
       <logic:iterate name="qr" id="hm">
          <logic:iterate name="hm" property="value" id="al">
             <bean:write name="qr" property="value" />
             <bean:write name="al"/>
          </logic:iterate> 
       </logic:iterate></logic:iterate>
      

  6.   

    <%
    List lt=new ArrayList();
    Map hm=new HashMap();
    List l1=new ArrayList();
    List l2=new ArrayList();
    l1.add("1.1");
    l1.add("1.2");
    l1.add("1.3");
    l2.add("2.1");
    l2.add("2.2");
    hm.put("1",l1);
    hm.put("2",l2);
    lt.add(hm);
    request.setAttribute("T",lt);
    %>
    <logic:iterate name="T" id="ltl">
    <logic:iterate name="ltl" id="hmh">
        <logic:iterate name="hmh" property="value" id="li">
          <bean:write name="hmh" property="key" />:
          <bean:write name="li"/><br>
       </logic:iterate>
    </logic:iterate></logic:iterate>
      

  7.   

    <%
     Map map=new HashMap();
     map.put("a","aaa");
     map.put("b","bbb");
     map.put("c","ccc");
     request.setAttribute("map",map);
    %>
    <logic:iterate id="map" name="myMap">
     <bean:write name="myMap" property="key"/>--->
     <bean:write name="myMap" property="value"><br>
    </logic:iterate>
    -------------------------------
    显示结果:
    a--->aaa
    b--->bbb
    c--->ccc
      

  8.   

    logic嵌套你会吧,我就不说了
      

  9.   

    不好意思<logic:iterate id="map" name="myMap">里的name和id写反了
      

  10.   

    我是这样解决的,我开始返回两个的arraylist直接保存在一个大的arraylist里面,然后从前台取这个arraylist,然后get方法取出两个小arraylist,然后用迭代就可以直接取字段了,不然从hashmap里面取出arraylist,我取不出来,结果我换了一种方式也可以了
      

  11.   

    落伍了.
    现在都流行jstl+el了.
    map可以用下标索引,也可以用'.'
    哈,和javascript一样了.