日期:2014-05-19  浏览次数:20772 次

如图的一个二维表格的数据,如何读取以及如何展现?



左边的是组别的一个List集合 里面的组别的名字

右边的是项目的一个List集合 里面的项目的名字


数据 就是统计 这个组别的项目报了多少人,

(一个组别会有多个项目),

一个页面可以执行多个action不?

------解决方案--------------------
楼主的问题,在偶之前的之前的一个项目中,偶也碰到过,翻了一下当时的代码,偶是这么实现的:
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中写法。