首页 > 代码库 > birt 集成到现有的web应用中
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="http://www.mamicode.com/%{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