web project中手动嵌入birt运行支持 2.5.2, 3.7.2

本文详细介绍了如何在Web项目中嵌入BIRT 2.5.2和3.7.2版本,包括下载运行时、配置文件夹结构、设置web.xml参数等步骤,并提供了具体的目录结构示例。

嵌入birt 2.5.2

准备

下载birt-runtime-2_5_2.zip

地址http://download.eclipse.org/birt/downloads/build.php?build=R-R1-2_5_2-201002221500

 

步骤

1、  新建web工程

2、  解压birt-runtime-2_5_2.zip,将其中的WebViewerExample目录(解压birt.war也可以)下的logsreportscriptlibwebcontent目录拷贝到新建项目的web根目录(如WebContent),将WebViewerExample/WEB-INF下的libplatformtlds目录及jrun.web.xmlserver-config.wsddviewer.properties文件拷到新建项目的WEB-INF目录下。

3、  打开WebViewerExample/WEB-INFweb.xml文件,拷贝里的配置到新建项目的web.xml里,内容如下:

	<!-- Default locale setting.
	-->
	<context-param>
		<param-name>BIRT_VIEWER_LOCALE</param-name>
		<param-value>en-US</param-value>
	</context-param>

	<!-- 
		Default timezone setting.
		Examples: "Europe/Paris", "GMT+1".
		Defaults to the container's timezone.		
	 -->
	<context-param>
		<param-name>BIRT_VIEWER_TIMEZONE</param-name>
		<param-value></param-value>
	</context-param>
	
	<!--
		Report resources directory for preview. Defaults to ${birt home}
	-->
	<context-param>
		<param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>
		<param-value></param-value>
	</context-param>
	
	<!--
		Temporary document files directory. Defaults to ${birt home}/documents
	-->
	<context-param>
		<param-name>BIRT_VIEWER_DOCUMENT_FOLDER</param-name>
		<param-value></param-value>
	</context-param>

	<!--
		Flag whether the report resources can only be accessed under the
		working folder. Defaults to true
	-->
	<context-param>
		<param-name>WORKING_FOLDER_ACCESS_ONLY</param-name>
		<param-value>true</param-value>
	</context-param>

	<!--
		Temporary image/chart directory. Defaults to ${birt home}/report/images
	-->
	<context-param>
		<param-name>BIRT_VIEWER_IMAGE_DIR</param-name>
		<param-value></param-value>
	</context-param>

	<!-- Engine log directory. Defaults to ${birt home}/logs -->
	<context-param>
		<param-name>BIRT_VIEWER_LOG_DIR</param-name>
		<param-value></param-value>
	</context-param>

	<!-- Report engine log level -->
	<context-param>
		<param-name>BIRT_VIEWER_LOG_LEVEL</param-name>
		<param-value>WARNING</param-value>
	</context-param>

	<!--
		Directory where to store all the birt report script libraries (JARs).
		Defaults to ${birt home}/scriptlib
	-->
	<context-param>
		<param-name>BIRT_VIEWER_SCRIPTLIB_DIR</param-name>
		<param-value></param-value>
	</context-param>
	
	<!-- Resource location directory. Defaults to ${birt home} -->
	<context-param>
		<param-name>BIRT_RESOURCE_PATH</param-name>
		<param-value></param-value>
	</context-param>

	<!-- Preview report rows limit. An empty value means no limit. -->
	<context-param>
		<param-name>BIRT_VIEWER_MAX_ROWS</param-name>
		<param-value></param-value>
	</context-param>

	<!--
		Max cube fetch levels limit for report preview (Only used when
		previewing a report design file using the preview pattern)
	-->
	<context-param>
		<param-name>BIRT_VIEWER_MAX_CUBE_ROWLEVELS</param-name>
		<param-value></param-value>
	</context-param>
	<context-param>
		<param-name>BIRT_VIEWER_MAX_CUBE_COLUMNLEVELS</param-name>
		<param-value></param-value>
	</context-param>

	<!-- Memory size in MB for creating a cube. -->
	<context-param>
		<param-name>BIRT_VIEWER_CUBE_MEMORY_SIZE</param-name>
		<param-value></param-value>
	</context-param>

	<!-- Defines the BIRT viewer configuration file -->
	<context-param>
		<param-name>BIRT_VIEWER_CONFIG_FILE</param-name>
		<param-value>WEB-INF/viewer.properties</param-value>
	</context-param>

	<!--
		Flag whether to allow server-side printing. Possible values are "ON"
		and "OFF". Defaults to "ON".
	-->
	<context-param>
		<param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>
		<param-value>ON</param-value>
	</context-param>

	<!--
		Flag whether to force browser-optimized HTML output. Defaults to true
	-->
	<context-param>
		<param-name>HTML_ENABLE_AGENTSTYLE_ENGINE</param-name>
		<param-value>true</param-value>
	</context-param>

	<!--
		Filename generator class/factory to use for the exported reports.
	-->
	<context-param>
		<param-name>BIRT_FILENAME_GENERATOR_CLASS</param-name>
		<param-value>org.eclipse.birt.report.utility.filename.DefaultFilenameGenerator</param-value>
	</context-param>

	<!--
		Viewer Filter used to set the request character encoding to UTF-8.
	-->
	<filter>
    	<filter-name>ViewerFilter</filter-name>
        <filter-class>org.eclipse.birt.report.filter.ViewerFilter</filter-class>
	</filter>
    <filter-mapping>
        <filter-name>ViewerFilter</filter-name>
        <servlet-name>ViewerServlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>ViewerFilter</filter-name>
        <servlet-name>EngineServlet</servlet-name>
    </filter-mapping>
    				
	<!-- Viewer Servlet Context Listener -->
	<listener>
		<listener-class>org.eclipse.birt.report.listener.ViewerServletContextListener</listener-class>
	</listener>

	<!-- Viewer HttpSession Listener -->
	<listener>
		<listener-class>org.eclipse.birt.report.listener.ViewerHttpSessionListener</listener-class>
	</listener>
	
	<!-- Viewer Servlet, Supports SOAP -->
	<servlet>
		<servlet-name>ViewerServlet</servlet-name>
		<servlet-class>org.eclipse.birt.report.servlet.ViewerServlet</servlet-class>
	</servlet>

	<!-- Engine Servlet -->
	<servlet>
		<servlet-name>EngineServlet</servlet-name>
		<servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>ViewerServlet</servlet-name>
		<url-pattern>/frameset</url-pattern>
	</servlet-mapping>
	
	<servlet-mapping>
		<servlet-name>ViewerServlet</servlet-name>
		<url-pattern>/run</url-pattern>
	</servlet-mapping>
	
	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/preview</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/download</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/parameter</url-pattern>
	</servlet-mapping>	

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/document</url-pattern>
	</servlet-mapping>	

	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/output</url-pattern>
	</servlet-mapping>	
	
	<servlet-mapping>
		<servlet-name>EngineServlet</servlet-name>
		<url-pattern>/extract</url-pattern>
	</servlet-mapping>

	<jsp-config>
		<taglib>
			<taglib-uri>/birt.tld</taglib-uri>
			<taglib-location>/WEB-INF/tlds/birt.tld</taglib-location>
		</taglib>
	</jsp-config>

 

 

4、  如果开发需要连接数据库,则需要将数据库驱动包拷贝到新建项目的WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_2.5.2.v20100205/drivers里;如果使用的是tomcat6.0,还需要下载commons-logging-api.jar并导入到新建项目(加到WEB-INF/lib中)。

5、  web根目录(WebContent)下新建文件夹reports,之后的报表文件(*.rptdesign)就统一放到这里进行管理了。这一步不必要,在234步时已经完成嵌入birt的工作了。

6、  这一步也不必要,有需要的话再看吧,否则请忽视。修改web配置里面的BIRT_VIEWER_LOG_DIR BIRT_VIEWER_IMAGE_DIR BIRT_VIEWER_SCRIPTLIB_DIR的配置,指定到你想要的目录,可以指定的WEB-INF目录里,默认的路径是

log -- <web根目录>/ logs

image -- <web根目录>/report/images

scriptlib -- <web根目录>/ scriptlib

documents -- <web根目录>/ documents

 

以下是我的目录结构:

 

 

 

注:以上步骤只是在web项目里嵌入birt的运行支持,至于开发.rptdesign的插件就要读者自己找了,可以下载一个rcp(文件是birt-rcp-report-designer-2_5_2.zip)来编辑.rptdesign文件,rcp也在这个地址http://download.eclipse.org/birt/downloads/build.php?build=R-R1-2_5_2-201002221500下载。birt-rcp-report-designer-2_5_2.zip是一个eclipse,但是里面只有.rptdesign文件的开发插件,没有其他,想当的轻量级的eclipse。把开发好的.rptdesign放到上面新建项目的web根目录里就行了,或者放到其下的reports目录里,但是访问路径要记得写正确了,你懂的,不多说了。

 

嵌入birt 3.7.2

准备

下载birt-runtime-3_7_2.zip

地址http://download.eclipse.org/birt/downloads/build.php?build=R-R1-3_7_2-201202141408

步骤

嵌入版本3.7.22.5.2的方法差不多,最大的区别就是3.7.2的没有了platform目录,在tomcat6.0的运行环境也无需导入commons-logging-api.jar包。

可参考嵌入birt 2.5.2的步骤,在第2步中拷贝的文件一样,只是没有platform目录,在第4步中无需拷贝commons-logging-api.jar包,只需要将数据库驱动包加到WEB-INF/lib就行了。

 

以下是我的目录结构:

简介: 1 Birt介绍 5 1.1 报表介绍 5 1.2 基本概念 5 1.3 丰富的报表 5 1.4 BIRT报表由四部分组成 6 1.5 报表设计器 6 2 Birt插件安装 8 2.1 插件版本说明 8 2.2 插件安装 9 2.2.1 完全安装 9 2.2.2 更新安装: 9 2.2.3 分步安装 9 3 Birt报表开发实战 13 3.1 创建报表 13 3.1.1 创建报表工程 13 3.1.2 创建报表 14 3.2 数据源配置 16 3.3 创建数据集 19 3.4 网格报表 20 3.4.1 创建数据源 21 3.4.2 创建数据集 21 3.4.3 对报表进行布局 21 3.4.4 格式化与预览 23 3.5 分组报表 24 3.5.1 创建数据源 25 3.5.2 构建数据集 25 3.5.3 对报表进行布局 25 3.5.4 设定分组数据 25 3.5.5 格式化报表 27 3.6 交叉报表 28 3.6.1 构建数据源 28 3.6.2 构建数据集 28 3.6.3 在报表中加入交叉报表 28 3.6.4 数据准备 29 3.6.5 向交叉表插入数据 32 3.6.6 加入汇总 33 3.6.7 格式化报表 34 3.7 嵌套报表 35 3.7.1 构建数据源 36 3.7.2 构建数据集 36 3.7.3 布局嵌套报表 38 3.7.4 将Table绑定数据集 39 3.7.5 设定主表数据 39 3.7.6 设定子表数据 40 3.8 交互报表 42 3.8.1 创建报表、数据源 43 3.8.2 创建数据集 43 3.8.3 加入响应参数 45 3.8.4 布局报表 47 3.8.5 插入报表数据 48 3.8.6 格式化与预览 49 3.9 报表钻取 51 3.9.1 设定响应参数 51 3.9.2 预览结果 54 3.10 图表报表 55 3.10.1 为报表插入图表 55 3.10.2 设定图表属性 55 3.10.3 图表预览 60 3.11 多层交叉报表 61 3.11.1 构建数据源 61 3.11.2 构建数据集 61 3.11.3 在报表中加入交叉报表 62 3.11.4 数据准备 63 3.11.5 向交叉表插入数据 63 3.11.6 格式化与预览 64 3.12 多层交叉汇总报表 65 3.12.1 加入汇总 65 3.12.2 格式化与预览 66 3.13 其他 67 3.13.1 格式化报表 67 3.13.1.1 表头与标题 67 3.13.1.2 设定单元格格式 68 3.13.1.3 样式套用 68 3.13.1.4 数据元素格式化 69 3.13.2 分页、页眉与页脚 70 3.13.2.1 设置分页显示 70 3.13.2.2 设置分页打印 70 3.13.2.3 设置页眉页脚 71 3.13.3 隔行高亮度显示 73 3.13.4 对报告进行布局 76 3.13.4.1 添加|删除行或列 76 3.13.4.2 指定行高或列宽 76 3.13.4.3 添加图像 77 3.13.5 数据绑定 79 4 Birt报表script 82 4.1 avascript脚本编写 82 4.1.1 隔行高亮度显示 82 4.1.2 多参数查询 84 4.1.3 脚本创建数据源 85 4.2 java脚本编写 88 4.2.1 创建java类 88 4.2.2 java类与报表交互 92 4.3 BIRT脚本参考 98 5 Birt报表部署 99 5.1 直接使用运行birt-runtime-2_2_0包中的WebViewerExample 99 5.2 集成到已有web应用 100 5.3 数据库驱动位置 107 5.4 报表url说明 107 5.5 web.xml配置 113 5.6 viewer.properties说明 115 5.7 BIRT在jsp中tag使用 116 5.8 关于BIRT编码 123
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值