日期:2014-05-17  浏览次数:20744 次

struts2+iReport 子报表 急需高手解决,已经困惑三天了!!!!!!!
最近用struts2+iReport来做报表,在action配置中给一个主报表传了一个数据源,该数据源是一个javaBean,该javaBean中又有一个list类型的属性,想用来做为子报表的数据源。现action的配置如下:
<action name="JasperUserAction" class="UserAction" method="JasperUser">
<result name="success" type="jasper">
<param name="location">/jasper/usertestReport.jasper</param>
  <param name="dataSource">editUser</param>
  <param name="reportParameters">reportParameter</param>  
  <param name="format">PDF</param>
</result>
</action>
其中editUser为主报表数据源,editUser中有属性private List roles
在iReport中设置子报表的Data Source Expression 为new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{roles})
运行后报错:
javax.servlet.ServletException: Error evaluating expression : Source text : new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{roles})
不知什么原因,请各位高手指点一下。

------最佳解决方案--------------------
这个Field:roles找不到哦

仔细检查你的jrxml

你先在ireport试运行下。

------其他解决方案--------------------
editUser 是 JasperUserAction属性
配置出错:
 <param name="dataSource">editUser</param>
改成:
<param name="dataSource">editUser.roles</param> 即可

------其他解决方案--------------------
lz 我也在用这个     遇到了一些问题,能请教下吗?<param name="reportParameters">reportParameter</param> 这句话能解释下吗?reportParameter这个是参数名称,应该随便什么都行吧!name="reportParameters"用参数一定要用这个吗?还要在别的地方用吗?我试了几次都没值。
------其他解决方案--------------------
没人知道吗 自己顶一个
------其他解决方案--------------------
高人们  4天了 
------其他解决方案--------------------
楼主 这个问题解决了吗,小弟现在也遇到这问题,希望能请假一下
------其他解决方案--------------------
这个问题当时一直没有解决,后来做成啥样的我也忘了,后来也就不做这个了,呵呵,不知不觉两年多了,还真快