Struts2+ireport 子报表传值类型错误
问题是这样的 代码不在手边 我就写伪码吧 ireport以JavaBean作为数据源
首先是主bean_A
bean_A{
private String aa;
private String bb;
private List<bean_B> b_list;
//-----set/get 省略
}
bean_b{
private String cc;
private String dd;
//-----set/get 省略
}
我在XML文件里配置数据源为List<bean_A> 类型的一个list,将其内部的b_list 传给子报表,因为b_list在主报表里是个field值 所以用
new
net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{b_list})
子报表以bean_b获得field字段
结果报下面错误:
Servlet.service() for servlet default threw exception
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'org.apache.struts2.views.jasperreports.ValueStackDataSource@11d3ec8' with class 'org.apache.struts2.views.jasperreports.ValueStackDataSource' to class 'java.util.List'
at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:340)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:632)
。。。
------解决方案--------------------楼主 你的这个问题解决了吗 我也遇到这个问题了现在 急需解决
------解决方案--------------------楼主 请问你这个问题怎么解决掉
------解决方案--------------------记得是换了报表格式,不是很清楚了