BIRT Viewer是一个基于web/ajax/J2EE的简单实用,带有示例性质的BIRT报表预览器。但我们在实际的项目整合中,往往都需要对它进行必要的功能上的扩充。其中,有一个很典型的应用,就是如何实现类似Google Map API哪样的功能,将报表灵活方便的插入到实际应用的页面上。这样可以非常方便的将报表服务与其它应用完全分离开来,在逻辑上和物理上都可以不再需要整合在一起。这样,我们完全可以在基于ASP/PHP或其它非J2EE应用中插入报表内容。BIRT Viewer中并没有提供相关的JS库,但商业化产品Actuate10中已提供了相关的JS库,可以很方便灵活布署报表应用。
我们知道,基于ajax的应用都有一个很大的硬伤,就是浏览器Cross Domain跨域的问题,网上也有很多种的解决方案。总的来说,无怪忽就这几种:
1) 采用按需(On-Demand)Javascript脚本。也就是利用<script>的src属性,可以动态生成src指向别的网址,从而获取返回的Javascript脚本,一般都返回JSON的消息。这种方式比较麻烦,特别是复杂的应用,需要server端更多的支持。
2) 采用Ajax扩展,也就是类似Proxy代理机制。在同一域的服务器端建一个Ajax Proxy代理,浏览器直接向该代理发送请求,然后由该Ajax代理向其它域的服务器发请求,得到回复后经处理(或原封不动)发回到浏览器端。这种解决方案笔者认为是最好的,也是最成熟可用的。网上也有一些这方面的实现可以参考,这里有一个笔者一直在采用的,大家可以研究一下:
http://beyrent.net/2007/01/25/ajax-extended/。该实现最大的问题就是只提供了基于PHP的实现,如果大家采用J2EE,需要自已去将PHP转为J2EE的实现。稍微有点麻烦。
3) 采用iframe的所谓坑道技术。在一个页面中,动态或直接插入一个指入它域的iframe,两个网页通过改变对方的ahchor hash fragment(...#hash)来传输数据。因为改变一个网页的anchor hash fragment值,并不会使浏览器重载,也不会改变当前浏览器状态。我们就可以引入一个定时器,定时对anchor hash的变化进行监测,从而响应相关的操作。这种办法最简单,改动的代码量相对来说是最小的。但相应的问题也很多,首先引入iframe就有安全方面的问题,很多浏览器有限制;另外通过URL的方式传数据,有长度的限制,一般不超过2048字节;还有就是效率的问题,采用timer定时器,效率的问题会很突出。虽然有这样哪样的问题,但不失一种特别的解决方案。笔者也对此做过较深入的研究。
附件里的实现就是采用第三种方式,代码比较简单,也很粗,希望能给大家有所帮助。还有如果要实现交互的功能,请大家自已修改服务器端的JS代码(^_^),如showParameterDialog等等操作。
分享到:
相关推荐
Birt Viewer则是BIRT框架中的一个重要组成部分,是一个基于Web的应用程序,用户可以通过浏览器来查看和交互BIRT报表。 在深入探讨Birt Viewer源代码之前,我们需要了解Eclipse平台。Eclipse是一个开放源码的软件...
BIRT Viewer基于J2EE实现,可部署在支持J2EE的Web服务器上,允许用户预览、导出和打印报表。然而,用户在使用过程中可能对复杂的参数设置感到困惑,尤其是BIRT官方文档的不足。以下是对BIRT Viewer参数设置的详细...
- **配置Web应用**:在Web应用的WEB-INF目录下添加birt视图引擎的配置文件,例如`birt-web.xml`,并设置相应的参数。 - **添加Servlet映射**:在`web.xml`配置文件中,配置BIRT Viewer的Servlet,指定其URL映射。 ...
### BIRT Viewer User’s Guide 知识点概览 #### 1. Servlets BIRT Viewer 使用了多种 Servlet 来支持不同的功能需求。这些 Servlet 的详细介绍如下: ##### 1.1 frameset - **功能**: 提供框架集的布局结构。 - *...
4. **集成到Web应用**:将Birt运行时引擎添加到J2EE应用程序中,通常通过添加Birt Web Viewer到Web应用的WEB-INF目录下实现。配置Birt Viewer的web.xml文件,设置数据源和报表路径。 5. **报表执行和展现**:在Web...
在本文中,我们将详细探讨如何将BIRT(Business Intelligence and Reporting Tools)部署到一个新的...这允许你在任何支持BIRT的Web服务器上展示和交互式地查看基于数据的报表,从而为你的业务决策提供关键的洞察力。
在Web项目中整合BIRT,首先需要在项目中引入BIRT的运行时环境,通常这包括BIRT Viewer及相关库文件。将这些文件部署到Web服务器的应用程序目录下,例如WEB-INF/lib,并确保服务器配置正确指向BIRT的资源路径。 2. ...
本文旨在通过详尽解析BIRT Viewer的不同预览模式、web.xml配置参数及其实际应用,为开发者提供一份全面的指南,助力其在报表设计与展示过程中达到最佳效果。 ### 预览模式概览 BIRT Viewer提供了多种预览模式,每...
BIRT是一个强大的开源报表系统,能够方便地与Web应用集成,实现动态报表的生成和展示。通过BIRT Report Designer的设计能力,开发者可以创建丰富的数据可视化,而BIRT Engine和Viewer则确保了报表在Web环境中的流畅...
将birt-runtime-4_4_2/WebViewerExample/WEB-INF/下的tlds、viewer.properties文件拷贝到report-engine文件夹下,然后将birt-runtime-4_4_2/WebViewerExample/WEB-INF/下的server-config.wsdd文件拷贝到Java Web项目...
- **Web Viewer**:一个Web应用程序,用于在Web浏览器中查看和交互报表。 2. **安装Birt**: - 下载Birt Runtime版本,解压后找到`ReportEngine`目录,这是运行Birt报表所需的核心组件。 - 将`WebViewerExample`...
Birt report viewer 汉化文件
通过BIRT,开发者可以轻松地将报表集成到Web应用中,利用Web Viewer展示报表,并通过JSP标签库实现与Web应用的无缝对接。BIRT的广泛应用和持续更新(如对新数据源的支持),使其成为企业级报表开发的首选工具之一。 ...
Java Web项目集成Birt4.4.2是一个过程,用于将Birt开源报表系统整合到非Maven构建的Java Web应用程序中,以便在项目中利用Birt的强大报表生成能力。以下是一个详细的步骤指南: 1. **下载Birt4.4.2**: 首先,访问...
通过以上步骤,可以成功地在Tomcat环境下部署并运行BIRT Viewer,实现数据报表的展示和交互。此外,还介绍了如何配置报表的分页、输出格式等细节,这对于进一步定制和优化报表具有重要意义。BIRT的强大之处在于其...
- **BIRT Web Tools Integration**:包含使用 BIRT Web 项目向导所需的插件和 BIRT Viewer JSP 标签库。 #### 将 BIRT 集成到现有 Eclipse 环境中 除了通过上述网站下载安装包外,还可以通过 Eclipse Update ...
BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源报表系统,它为Web应用程序提供了强大的报告设计和展示功能。在Web项目中集成BIRT,可以极大地提升数据可视化和业务分析的能力。以下...
【BIRT报表应用预研报告】 BIRT,全称Business Intelligence and Reporting Tools,是由Eclipse基金会维护的一个开源报表系统,适用于开发人员构建丰富的、可定制的报表应用。本报告由吴红佳和王飞共同撰写,旨在...