JasperReport子报表采用JavaBean做数据源的问题 5

用struts2和JasperReport和ireport做报表开发,其中用JavaBean做数据源,开发子报表时子报表的datasourceexpression为:ne... 用struts2和JasperReport和ireport做报表开发,其中用JavaBean做数据源,开发子报表时子报表的data source expression为:new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{majors}),但是运行后一直报错,错误为:net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :
Source text : new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{majors}),希望大家能帮我解决!
展开
 我来答
阿虫CYP
2017-09-18
知道答主
回答量:11
采纳率:0%
帮助的人:2.9万
展开全部
主报表添加参数majors,如果是list,参数类型选为java.util.List,将子报表的data source expression改为:new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{majors}),在action中添加public Map<String,Object> reportParameter = new HashMap<String,Object>();及对应的set,get方法,将查询出的majors的值放入reportParameter,在struts.xml中配置如下:
<action name="pdf" class="com.xxxxx.action" >
<result name="Success" type="jasper">
<param name="location">/reports/main.jasper</param>
<param name="dataSource">list</param>
<param name="reportParameters">reportParameter</param>
<param name="format">PDF</param>
</result>
</action>
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
linkai568
2013-07-23
知道答主
回答量:32
采纳率:0%
帮助的人:20.5万
展开全部
把majors这个属性当参数传进去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式