日期:2014-05-18  浏览次数:20741 次

怎么样从数据库读出记录在页面以表格形式显示?
现在有一个表t_employee,存放的是Employee的信息,表结构如下:

T_EMPLOYEE:
sap_id emp_level location lang_category lingual_proficiency

a.a.a SSE GZ English Skilled
b.b.b AM SH English Expert
c.c.c ASE DL Japanese Beginner
 … … … … …



要根据这个t_employee表里边的记录,在页面中生成下边这样的一个统计表格,统计不同语言熟练程度、不同Location、不同level的Employee的数目,最后得出总数:
 
Report:

lingual proficiency location ASE SE SSE TL AM M total
  Trained SH 20 43 5 0 0 0 68
  Beginner SH 10 25 28 20 0 0 83
  Skilled SH 10 25 28 20 0 0 83
  Expert SH 15 21 20 10 8 5 79
  Fluent SH 0 0 0 0 2 3 5
  235

  Trained DL ... .. ...
  Beginner DL … ...
  Skilled DL ...
  Expert DL ...
  Fluent ...

  … … … … … … … … …

 
系统开发中Framework只用到了Struts 1.3.8,没用报表工具。
 
假设要显示上面表格的页面是report.jsp,用来填充report.jsp中上述表的ActionForm是ReportForm。
 
1)我现在是写了一个专门的ReportAction从别的页面通过.do的链接跳转到report.jsp,同时在ReportAction中将上边数据库的t_employee表中所有employee记录查出来放到一个List中
 
2)在ReportAction中,计算出表格的各个格子中的数字(用许多for和if-else遍历employee的List),并用很多个变量来保存计算结果,然后放到ReportForm中,再在report.jsp中用<bean:write>一个数字一个数字地显示出来(很笨)。
 
 
 
请问各位,这样有可行性吗?
 
或者有没有更好的办法?
 
感激ing...





------解决方案--------------------
struts 循环标签logic:iterate 

<logic:iterate id="自定义名称" name="list名称">
<tr>
<td>
<bean:write name="自定义的id名称" property="list里放的对象的属性"/>
</td>
<td>...</td>
...
...
</tr>
</logic:iterate>