birt的部署

来源:互联网 发布:淘宝网现任总裁 编辑:程序博客网 时间:2024/05/16 07:10

1、环境

l        报表设计器:可以到http://download.eclipse.org/birt/downloads/下载最新版本,当前的最新版是birt-rcp-report-designer-2_0_1。将下载来的zip压缩包解压到相应的目录,如:E:/birt-rcp-report-designer-2_0_1

l        可运行环境:可以到http://download.eclipse.org/birt/downloads/下载最新版本,当前的最新版是birt-runtime-2_0_1。将其解压到相应目录,如:E:/birt-runtime-2_0_1

l        可运行服务器:本人采用的是Tomcat5.0jdk1.4.2

l        其他:下载所需要的jar包,包括iText1.3prototype.js v1.4.0 ,这两个jar包都可以在http://download.eclipse.org/birt/downloads/下载。将下载的iText1.3jar包放在E:/birt-runtime-2_0_1/Web Viewer Example/plugins/org.eclipse.birt.report.engine.pdf/lib目录下,prototype.js v1.4.0包放在E:/birt-runtime-2_0_1/Web Viewer Example/ajax/lib目录下。

2Birt部署到项目中。

1. Eclipse BIRT官方网站下载birt-runtime-2_0_0.zip

2. 解压之后,需要其中的web view example目录下的内容。

3. 检查并且复制以下第三方软件包到web view example目录:(一般不用改动,iText 1.3这一项可以忽略不用考虑,如果pdf格式不能输出,可参考后面)

 

需要的jar文件

复制位置

Apache Axis

axis.jar
axis-ant.jar
commons-discovery-0.2.jar
jaxrpc.jar
saaj.jar
wsdl4j-1.5.1.jar

WEB-INF/Lib

iText 1.3

itext-1.3.jar

Plugins/org.eclipse.birt.report.engine.emitter.pdf/lib

prototype.js v1.4.0

prototype.js v1.4.0

ajax/lib

 

 

 

4. web view example目录发布到web容器中,如tomcat,把相应内容拷入web项目的文件件下,并且把web view example里面的web.xml文件中的内容复制粘贴到项目的web.xml文件中。

6. 发布设计完成的报表文件,可在web项目中创建reports目录,用于存放报表设计文件。

7. 在应用中通过正确格式的访问路径,例如:http://localhost:8080/birtApp/frameset?__report=报表文件路径,就可以访问报表了。

这个web应用支持2个动作:

  • frameset,以frameset的形式显示报表。这个界面包含一些frame,如页面导航,报表主体在其中的一个frame中显示;使用形式:
    http://localhost:8080/birtApp/frameset?__report=
    报表文件路径&参数=........

选项

说明

__format

报表输出格式:htmlpdf,缺省是html。对于frameset不起作用。

__isnull

指明一个参数是null,常用于字符串类型。如果提供参数且值为空: - 对于日期和数字类型,BIRT会将它们当作null处理。 - 对于字符串,BIRT会将它作为空字符串。因此,为了说明某个字符串是null,通常写为:__isnull=参数。

__locale

本地化选项,缺省是jvmlocale

__report

报表设计文件路径。

报表参数

报表参数参数值对,形式:参数名=参数值。对于frameset,直接在地址栏中输入参数名=参数值后回车,不会影响报表结果。虽然,此时选择"运行报表"时,弹出的参数值已经改变。

  • run,报表以一个单独的html页面或pdf显示,由于这种形式没有frmaeset,因此使用者必须自己提供相应的参数,如报表参数,页号等。使用形式:
    http://localhost:8080/birtApp/run?__report=
    报表文件路径&参数=........

对于以上2个动作,以下列出可用的参数:

虽然本节所说的是针对web应用的集成,但是这种方法同样也可与非web应用集成。此时,我们可以采取一种变通的方法:在非web应用中使用内嵌的web容器,如jetty,也可达到同样的效果。这种做法和Eclipse的做法类似。还记得在报表设计时使用"报表 -> 运行报表"吗?那个弹出的窗体,实际就是一个web页面。