Struts+spring+hibernate+birt整合实例(ZJP)

本文详细介绍了如何在Web项目中集成BIRT报表,包括添加支持、创建报表文件、配置数据源及数据集,并通过Action设置数据集。还分享了解决常见问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Step1:

新建web项目并添加strutsspringhibernate支持,再此不再多加描述。

Step2

添加birtReport支持,当添加成功后,你后发现项目中会多出几个文件夹,同时web.xml文件中也会多出很多配置,当然这个不比你操心,eclipse已经为你配置ok了。下一步就是开始了!目录结构如下:


下一步,新建report文件

点击yes进入报表设计视图

 

在此处新建数据源(注意选择scriptDataSource)点击finish

 

下一步,新建数据集。具体怎样建,相信你肯定会的。再此不做描述!

OK,到此,birt基本上已经完成。下一步到action内设置数据集List,或其他集合类。

在此我采用的是session方法,把结果集放入session范围内,然后转到带有report标签的jsp页面,然后在报表文件的脚本编辑器内编写脚本,主要用到,数据集的openfentchclose三个方法。

具体写法:

session范围内有一个listlist内为pojo

则在open内写入:(open负责初始化数据)

importPackage(Packages.javax.servlet.http);

req=reportContext.getHttpServletRequest();

session=req.getSession();

params=new Packages.com.yourPOJOPackage.Class();(此处为list内的对象所在的包的完整路径)

list=session.getAttribute("list");

iteratorparams=list.iterator();

Fetch内开始遍历(此写法只是模拟,根据实际项目变动)

if(iteratorparams.hasNext()==false){

return false;

}

params=iteratorparams.next();

row[1]=params.getBillnumber();

row[2]=params.getCustomerByCustomid1().getClabel();

row[3]=params.getProduct().getPlabel();

return true;

COLSE内清空open内创建的对象

Ok,运行项目,之后,你就会看到,你的报表结果了!

注意:

1、   MyEclipse自动加载report后,有时会报监听错误,那是因为缺少包所知,解决方法,就是把birt runningtime内的例子所用的jar包拷到你的lib内部一般可以解决!

2、   如果报告hibernate lazy错误的话,那就把hibernate pojo映射文件里面的class节点内加入lazy=false”就ok

3、   还有就是,在遍历(fetch)是,不要写错取值方法,要不然回报找不到getXX方法,的错误

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值