文档章节

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

李玉珏
 李玉珏
发布于 2015/02/27 11:42
字数 491
阅读 538
收藏 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);


© 著作权归作者所有

共有 人打赏支持
李玉珏

李玉珏

粉丝 279
博文 60
码字总数 102475
作品 0
沈阳
技术主管
birt runtime 报表接口(1)

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

Canaan_
2016/02/14
48
0
项目经验总结-Eclipse图表工具Birt的使用技巧(一)

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

顽Shi
2014/01/20
0
1
在团队中用 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的使用技巧(三)

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

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

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

李玉珏
2015/02/27
0
6

没有更多内容

加载失败,请刷新页面

加载更多

RedHat已更改其开源许可规则

对于编程圈外的人来说,软件许可证似乎并不重要,但是,在开源领域,开源许可是非常重要的。 因此,领先的Linux公司Red Hat宣布了一件大事,所有新的由Red Hat发起的使用GNU通用公共许可证(...

linux-tao
19分钟前
4
0
游戏化策划的反馈机制

简评:如何低成本地设计游戏化活动运营方案 当项目活动组采用游戏化机制来设计活动时,往往会犯一个错误 —— 以为物质奖励(金钱或实物)就是终极奖励。然后一次又一次的证据显示,有形奖励...

极光推送
21分钟前
1
0
PHP "延迟静态绑定" 功能,static

从这个名字的定义提取出两个关键点,第一点静态,也就是说这个功能只适用于静态属性或静态方法。 第二点延迟绑定,这个根据下面代码就可以很好的理解 class A{ static $name = "Tom";...

nsns
25分钟前
1
0
《看图轻松理解数据结构与算法系列》导引贴

最近学习数据结构,遇到一个很喜欢的博主,他的文章图文并茂,理解起来很容易。特此开贴记录,方便反复阅读。 博主主页 https://juejin.im/user/57c3970f79bc440063e58518/posts?sort=popul...

科陆李明
今天
1
0
20.27 分发系统介绍~ 20.30 expect脚本传递参数

分发系统介绍分发系统-expect讲解(也就是一个分发的脚本)场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因...

洗香香
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部