我现在使用 <s:iterator value="list1"> </s:iterator>输出了几行数据。
现在我需要使用<s:iterator value="list1"><s:iterator value="list2"> </s:iterator></s:iterator>(自己乱写的)
来实现我在输出list1的数据的时候,同时输出list2表中的内容。
list1
 id name dept    
 1    测试  部门
 2    测试2  部门2
list2
id  other
1    A
1    B
1    C
2     E
2     F
现在我需要的效果是
name dept other other  other
 测试   部门    A        B             C
测试2  部门2  E        F
不知道有没有实现的方法,求指教。

解决方案 »

  1.   

    list1和list2中的id是相关联的吧,如果是的话,只有关联查询这两张表,把最终的结果放到一个list中去,遍历出来即可
      

  2.   

    <s:merge id="list1andlist2">
    <s:param value="%{list1}"/>
    <s:param value="%{list2}"/>
    </s:merge><s:iterator values="%{#list1andlist2}">
    <s:property  /> <br>
    </s:iterator>
      

  3.   

    存的时候存好一点就好了。
    List list2 = new ArrayList();
    list2.add("a");
    list2.add("b");
    list2.add("c");List list1 = new ArrayList();
    list1.add("1");
    list1.add("测试");
    list1.add("部门");
    list1.add(list2);
      

  4.   

    建议不要用sturts的标签,用jstl的forEach很简单的。
     
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     <c:forEach items="${list1}" var="var1">
      ${var1.name } &nbsp; ${var1.dept }&nbsp;
      <c:forEach items="${list2}" var="var2">
      <c:if test="${var1.id eq var2.id}">
    ${var2.other }&nbsp;
      </c:if>
    <br>
      </c:forEach>
     </c:forEach>
      

  5.   

    当然用struts标签也是可以实现的,只是效率相对来说不高