birt 集成到现有的web应用中
我们已经有了一个Javaweb应用,现在要实现对报表的集成
我的应用是这个样子的


说明:
1) 这里使用的是birt4.4版本的, 下载birt-runtime-4.4.zip(在官方下载),然后将birt.war解压,可以看到 logs report scriptlib webcontent WEB-INF **.jsp **.rptdesign 这些文件及文件夹
2) 将 WEB_INF下的内容放到我们自己的web应用的WEB-INF相应的目录下,将它的web.xml与我们应用的web.xml内容进行合并,birt里面的web.xml的具体配置见文档
3) birt的webcontent目录官方上一定要放到web应用的根目录的,如果要放到自己指定的目录,比如说我自己应用里面的birt目录,你需要修改birt的jar中的viewsevlets.jar中的三个类 : org.eclipse.birt.report.servlet.ViewerServlet.java org.eclipse.birt.report.servlet.BirtEngineServlet.java org.eclipse.birt.report.taglib.ParamDefTag.java (需要用到反编译工具 ,我这里用的是 jd-gui.exe )
4) 设计好自己的报表或者报表模板,放到配置文件指定的路径,我这里就在birt目录下,如上面的 eastcom_test_report.rpttemplate
5)我们自己的jsp页面是直接跳转到birt引擎进行处理的
<s:form id="MYFORM" action="/frameset" method="post" theme="simple">
<div id="content">
<table>
<tr>
<th width="13%"><span>*</span>模板名称:</th>
<td width="35%"><div>
<s:textfield name="reportDesign.name" maxlength="128" readonly="true" />
</div></td>
<th width="17%"><span>*</span>模板路经:</th>
<td width="35%"><div>
<s:textfield name="reportDesign.designLocation" maxlength="128" readonly="true" />
</div></td>
</tr>
<tr>
<th colspan="4" style="text-align:center;"><span>请设置以下报表参数</span></th>
</tr>
<tr>
<th colspan="4" > </th>
</tr>
<tr>
<th width="13%"><span>*</span>资源Key:</th>
<td width="35%">
<div>
<s:textfield name="resource_key" maxlength="128" onblur="Check.required(this)"/>
<s:hidden name="__report" value="%{reportDesign.designLocation}"></s:hidden> ,这是指定具体的模板名称,它会到我们放模板或者报表的路径下去匹配的
</div></td>
</tr>
</table>
</div>
<div id="operator">
<div class="left"></div>
<div class="middle" onclick="Page.submit(true)">提交</div>
<div class="right"></div>
<div class="left"></div>
<div class="middle" onclick="Page.close()">关闭</div>
<div class="right"></div>
</div>
</s:form>
6) 如果要发布到websphere服务器上,需要在lib中加入 itext.1.3.jar ,tomcat jetty是不能加的
birt 集成到现有的web应用中的更多相关文章
- 如何在现有的 Web 应用中使用 ReactJS
原文:How to Sprinkle ReactJS into an Existing Web Application 译者:nzbin 当我们学习一项新技术,可能是一个 JavaScript 框架, ...
- 细说shiro之四:在web应用中使用shiro
官网:https://shiro.apache.org/ 1. 下载在Maven项目中的依赖配置如下: <!-- shiro配置 --> <dependency> <gr ...
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...
- 06_在web项目中集成Spring
在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = ...
- react native 之 在现有的iOS工程中集成react native
在现有的iOS工程中集成react native, 或者说将react native引入到iOS 项目,是RN和iOS混合开发的必经之路 参考官网教程:https://reactnative.cn/d ...
- IDEA下集成tomcat7插件将tomcat内嵌到web项目中
新建一个maven web项目 修改pom.xml文件 <build> <plugins> <!-- 配置Tomcat插件: 就是本地部署,将tomcat 内嵌到 web ...
- 如何把Power BI嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这篇其实不是一个操作向导了,主要对Power BI的嵌入特性进行探讨. Power BI ...
- 如何把Qlik Sense嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这是一个给初学者(尤其对VS不熟悉的BI工程师)的入门操作向导. Qlik Sense是 ...
- web自动化测试中绕开验证码登陆的方式
web自动化测试中登陆需验证码是很大的一个困扰.现推荐一种简单的避开验证码登陆的方式,先代码进入登录页,人工输入验证码登录后浏览器自动保存cookie,再在新的标签中登录. 具体代码如下: publi ...
随机推荐
- noip普及组2004 不高兴的津津
描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴.但是津津如果一天上课超过八个小时就会不高兴,而且, ...
- [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
javascript面向对象编程方式,对于初学者来说,会比较难懂. 要学会面向对象以及使用面向对象编程,理解对象的创建在内存中的表示,至关重要. 首先,我们来一段简单的对象创建代码 var obj = ...
- APUE 2 - 进程组(process group) 会话(session) job
进程组(process group) 进程组顾名思义是指一个或多个进程的集合.他们通常与同一个job(可以从同一个终端接收信号)相关联.每个进程组拥有一个唯一的Process Group Id.可以使 ...
- sphinx随笔记了一下
sphinx笔记 一:下载中文版coreseek包1:解压后,将etc下的mysql.conf文件复制一份放到上级目录下,改名为sphinx.conf2:配置文件: 2.1:source配置数据源so ...
- Akka(21): Stream:实时操控:人为中断-KillSwitch
akka-stream是多线程non-blocking模式的,一般来说,运算任务提交到另外线程后这个线程就会在当前程序控制之外自由运行了.任何时候如果需要终止运行中的数据流就必须采用一种任务柄(han ...
- Java入门(7)——循环和debug 调试
循环: while 循环: 格式: int i = 0; ① //初始化条件 while(i < 10) { ② //判断条件 System.out.println(i); ④ //循环 ...
- jQuery遍历-同胞
同胞拥有相同的父元素. 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素. 在 DOM 树中水平遍历 有许多有用的方法让我们在 DOM 树进行水平遍历: siblings() next() ...
- [2013-03-14]使用wiki维护产品文档
word文档作为产品文档的问题: word文档本身的设计是为了打印: word文档的编辑较为繁琐: 作为产品文档的word文档往往长达百页以上,难以维护,且容易分散注意力,不利于查阅: 没有一个简单易 ...
- 归并排序Java实现
package practice; import edu.princeton.cs.algs4.*; /* * 归并排序 * 时间复杂度O(NlgN) N为数组长度 * 归并排序在小数组上表现并不好可 ...
- Javascript学习日志(三):闭包
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式 ...