左边的是组别的一个List集合 里面的组别的名字右边的是项目的一个List集合 里面的项目的名字
数据 就是统计 这个组别的项目报了多少人,(一个组别会有多个项目),一个页面可以执行多个action不?

解决方案 »

  1.   

    <@s.action name="struts.xml中配置的Action名" id="自定义一个标识符" executeResult="false"/>
    比如:
    <@s.action name="listAllUser" id="lauAction" executeResult="false"/>使用的时候就可以
    <#list lauAction.userList as member>
    …………
    </#list>以上是FreeMarker中的写法,JSP有好多年没用了。但是这样的功能肯定有,只是写法不一样。
      

  2.   

    楼主的问题,在偶之前的之前的一个项目中,偶也碰到过,翻了一下当时的代码,偶是这么实现的:
    Action中返回一个Map<String, Object>对象给页面,此Map中的数据格式为:
    {
        {"projectList":List<Project>},
        {"groupList":List<Group>},
        {"reportData":Map<String, Integer>}
    }
    其中的List<Project>就是上图中的项目List集合;List<Group>就是组别的List集合;
    Map<String, Integer>是统计出来的数据,Key类似这样:
    "1_2","2_3","5_2"
    Key由中划线分隔成二段,第一段是Project的Id,第二段是Group的Id
    Value是对应的数字。
    然后页面上二层循环,就得到图中的表了。
    <#list reportMap["groupList"] as group>
        <tr>
    <td>${group.name}</td>
    <#list reportMap["projectList"] as project>
        <td>            <#if reportMap["reportData"][group.id + "_" + project.id]??>     ${reportMap["reportData"][group.id + "_" + project.id]?c} </#if>
        </td>
    </#list>   
        </tr>
    </#list>
    同样的,以上是FreeMarker中写法。
      

  3.   

    大概的意思懂了,
    Struts2的页面上,怎么显示这个Map集合的值呢