文档章节

BIRT运行时动态设置资源相对路径的方法

李玉珏
 李玉珏
发布于 2015/02/27 11:42
字数 491
阅读 539
收藏 0

        用BIRT开发报表时,可能会引用其他类型的文件,比如JS文件,库文件等,开发时引入这些资源文件时,在报表源文件中是一个相对路径(开发时这个相对路径具体相对于哪个根目录,需要在BIRT设计器的选项中设置,具体位置在eclipse->window->preferences->report design->resource中设置相对路径的根目录,但是注意这个根路径是全局性的,如果每个报表相对根路径不同,则只能手工修改源文件),因此在BIRT的运行时要想正确处理这个相对路径,需要动态的设置一个这个相对路径的根目录,本文将介绍两种设置方法。

    这两种方法都是基于ReportEngine的openReportDesign方法,因此可以针对不同的报表设置不同的相对根路径。

    1.IResourceLocator扩展:

        IReportEngine的openReportDesign方法可以有一个IResourceLocator类型的参数,可以通过实现该接口的findResource方法来动态设置相对目录根路径,BIRT也内置了该接口的实现ResourceLocatorImplBase,该实现较为复杂,有兴趣的可以研究其源代码,并且初步判断该实现在BIRT4.4版本中有Bug,不建议使用。

    2.IModuleOption.RESOURCE_FOLDER_KEY常量:

        该方法较为简单,以相对根路径为WEB的根目录为例,样例代码如下:  

IReportEngine birtEngine = ...;
Map moduleOptions = new HashMap();
moduleOptions.put(IModuleOption.RESOURCE_FOLDER_KEY,servletContext.getRealPath("/"));
IReportRunnable runnable = birtEngine.openReportDesign(reportFileName,null,moduleOptions);


© 著作权归作者所有

共有 人打赏支持
李玉珏

李玉珏

粉丝 305
博文 66
码字总数 110992
作品 0
沈阳
技术主管
私信 提问
birt runtime 报表接口(1)

当启动runtime项目后我们就可以使用url去访问项目了如: http://localhost:8080/birt/frameset?report=blank.rptdesign 如上是一个frameset模式,并通过report指定了要展示的报表。 先说bir...

Canaan_
2016/02/14
48
0
在团队中用 BIRT 进行报表开发

原贴地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-eclipse-birtinteam/index.html 在团队中用 BIRT 进行报表开发 本文主要介绍如何在 BIRT 中创建,使用库( Library )和模...

一堆BUG
2012/02/28
0
0
项目经验总结-Eclipse图表工具Birt的使用技巧(一)

Birt是一套集成在Eclipse中的开源的报表设计工具,它自带有完整的一套工具,可以方便快速的设计出一般性的常用报表.我在2013年下半年开始使用时,官方最新的Birt版本是4.3,可以在官网上下载集成...

顽Shi
2014/01/20
0
1
BIRT统一公用数据源、动态切换数据源解决方案

通过BIRT报表工具开发出来的报表,在运行时往往是走一个统一的生产环境数据源,但是开发时往往是一个开发测试用的数据源,这就 需要随时能够在两个环境下进行切换。目前针对这个问题,公开可...

李玉珏
2015/02/27
0
6
项目经验总结-Eclipse图表工具Birt的使用技巧(三)

因为篇幅所限,本篇承接上一篇Eclipse图表工具Birt的使用技巧(二)继续介绍Birt的小技巧. 4. 公共数据源 项目制作中,多个报表文件可能需要使用同一个DataSet,Cube,DataSource这些东西,如果为每...

顽Shi
2014/01/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TiQuery:All Diagnosis in SQL | TiDB Hackathon 优秀项目分享

本文作者是来自 TiNiuB 队的黄梦龙同学,他们的项目 TiQuery 在本届 TiDB Hackathon 2018 中获得了三等奖。 TiQuery 可以搜集诊断集群问题所需要的信息,包括集群拓扑,Region 分布,配置,各...

TiDB
18分钟前
2
0
git 分支创建合并流程图

gentlelions
26分钟前
3
0
Kali Linux常用服务配置教程DHCP服务原理

Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作。它主要有两个用途:第一,给内部网...

大学霸
27分钟前
2
0
控制台打印图片

function dev(){ if (window.console){ console.log("%c\n ", "font-size:100px;background:url('http://gmcyzs.com/resources/images/logo.png') no-repeat"); console.log('%c 深务平台,\......

羊皮卷
34分钟前
0
0
MyBaties的二级缓存

二级缓存介绍 在上文中提到的一级缓存中,其最大的共享范围就是一个SqlSession内部,那么如何让多个SqlSession之间也可以共享缓存呢,答案是二级缓存。 当开启二级缓存后,会使用CachingExec...

嘴角轻扬30
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部