Struts+spring+hibernate+birt 整合实例(ZJP) Step1: 新建web 项目并添加struts,spring,hibernate 支持,再此不再多加描述。 Step2: 添加birtReport 支持,当添加成功后,你后发现项目中会多出几个文件夹,同时 web.xml 文件中也会多出很多配置,当然这个不比你操心,eclipse 已经为你配置 ok 了。下一步就是开始了!目录结构如下: 下一步,新建report文件 点击yes 进入报表设计视图 在此处新建数据源(注意选择scriptDataSou rce)点击finish 下一步,新建数据集。具体怎样建,相信你肯定会的。再此不做描述! OK,到此,birt 基本上已经完成。下一步到action 内设置数据集 List,或其他集合类。 在此我采用的是 session 方法,把结果集放入 session 范围内,然后转到带有 report标签的 jsp 页面,然后在报表文件的脚本编辑器内编写脚本,主要用到,数据集的 open,fentch,close 三个方法。 具体写法: 比 session 范围内有一个 list,list 内为 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 方法,的错误