最近接触报表,使用Birt报表,还不错!一点小总结:
Birt部署,只是添加jar而已。
下载相应的runtime架包,单独解压birt.war
在项目中的WEB-INF下新建report-engine文件夹(可自定义),拷贝文件如下:logs、scriptlib、images、documents(需要自己创建,版本中没有,用来缓存document).
拷贝WEB-INF文件夹除了web.xml以外的xml以及properties文件和wsdd文件,顺便把lib中的架包放到位置
拷贝tlds下的birt.tld文件到项目tld文件夹
拷贝webcontent到项目WEB下或者WEBCONTENT下(不必奇怪WEBCONTENT/WEBCONTENT,报表需要)
接下来,web.xml文件配置,添加如下代码:
<display-name>Eclipse BIRT Report Viewer</display-name>
<!-- Default locale setting.
-->
<context-param>
<param-name>BIRT_VIEWER_LOCALE</param-name>
<param-value>en-US</param-value>
</context-param>
<!--
Default timezone setting.
Examples: "Europe/Paris", "GMT+1".
Defaults to the container's timezone.
-->
<context-param>
<param-name>BIRT_VIEWER_TIMEZONE</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>BIRT_OVERWRITE_DOCUMENT </param-name>
<param-value>true</param-value>
</context-param>
<!--
Report resources directory for preview. Defaults to ${birt home}
-->
<context-param>
<param-name>BIRT_VIEWER_WORKING_FOLDER</param-name>
<param-value></param-value>
</context-param>
<!--
Temporary document files directory. Defaults to ${birt home}/documents
-->
<context-param>
<param-name>BIRT_VIEWER_DOCUMENT_FOLDER</param-name>
<param-value>WEB-INF/report-engine/documents</param-value>
</context-param>
<!--
Flag whether the report resources can only be accessed under the
working folder. Defaults to true
-->
<context-param>
<param-name>WORKING_FOLDER_ACCESS_ONLY</param-name>
<param-value>true</param-value>
</context-param>
<!--
Temporary image/chart directory. Defaults to ${birt home}/report/images
-->
<!--
Settings for how to deal with the url report path. e.g. "http://host/repo/test.rptdesign".
Following values are supported:
<all> - All paths.
<domain> - Only the paths with host matches current domain. Note the comparison is literal, "127.0.0.1" and "localhost" are considered as different hosts.
<none> - URL paths are not supported.
Defaults to "domain".
-->
<context-param>
<param-name>URL_REPORT_PATH_POLICY</param-name>
<param-value>domain</param-value>
</context-param>
<context-param>
<param-name>BIRT_VIEWER_IMAGE_DIR</param-name>
<param-value>WEB-INF/report-engine/images</param-value>
</context-param>
<!-- Engine log directory. Defaults to ${birt home}/logs -->
<context-param>
<param-name>BIRT_VIEWER_LOG_DIR</param-name>
<param-value>WEB-INF/report-engine/logs</param-value>
</context-param>
<!-- Report engine log level -->
<context-param>
<param-name>BIRT_VIEWER_LOG_LEVEL</param-name>
<param-value>SEVERE</param-value>
</context-param>
<!--
Directory where to store all the birt report script libraries (JARs).
Defaults to ${birt home}/scriptlib
-->
<context-param>
<param-name>BIRT_VIEWER_SCRIPTLIB_DIR</param-name>
<param-value>WEB-INF/report-engine/scriptlib</param-value>
</context-param>
<!-- Resource location directory. Defaults to ${birt home} -->
<context-param>
<param-name>BIRT_RESOURCE_PATH</param-name>
<param-value></param-value>
</context-param>
<!-- Preview report rows limit. An empty value means no limit. -->
<context-param>
<param-name>BIRT_VIEWER_MAX_ROWS</param-name>
<param-value></param-value>
</context-param>
<!--
Max cube fetch levels limit for report preview (Only used when
previewing a report design file using the preview pattern)
-->
<context-param>
<param-name>BIRT_VIEWER_MAX_CUBE_ROWLEVELS</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>BIRT_VIEWER_MAX_CUBE_COLUMNLEVELS</param-name>
<param-value></param-value>
</context-param>
<!-- Memory size in MB for creating a cube. -->
<context-param>
<param-name>BIRT_VIEWER_CUBE_MEMORY_SIZE</param-name>
<param-value></param-value>
</context-param>
<!-- Defines the BIRT viewer configuration file -->
<context-param>
<param-name>BIRT_VIEWER_CONFIG_FILE</param-name>
<param-value>WEB-INF/viewer.properties</param-value>
</context-param>
<!--
Flag whether to allow server-side printing. Possible values are "ON"
and "OFF". Defaults to "ON".
-->
<context-param>
<param-name>BIRT_VIEWER_PRINT_SERVERSIDE</param-name>
<param-value>ON</param-value>
</context-param>
<!--
Flag whether to force browser-optimized HTML output. Defaults to true
-->
<context-param>
<param-name>HTML_ENABLE_AGENTSTYLE_ENGINE</param-name>
<param-value>true</param-value>
</context-param>
<!--
Filename generator class/factory to use for the exported reports.
-->
<context-param>
<param-name>BIRT_FILENAME_GENERATOR_CLASS</param-name>
<param-value>org.eclipse.birt.report.utility.filename.DefaultFilenameGenerator</param-value>
</context-param>
<!--
Viewer Filter used to set the request character encoding to UTF-8.
-->
<filter>
<filter-name>ViewerFilter</filter-name>
<filter-class>org.eclipse.birt.report.filter.ViewerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ViewerFilter</filter-name>
<servlet-name>ViewerServlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>ViewerFilter</filter-name>
<servlet-name>EngineServlet</servlet-name>
</filter-mapping>
<!-- Viewer Servlet Context Listener -->
<listener>
<listener-class>org.eclipse.birt.report.listener.ViewerServletContextListener</listener-class>
</listener>
<!-- Viewer HttpSession Listener -->
<listener>
<listener-class>org.eclipse.birt.report.listener.ViewerHttpSessionListener</listener-class>
</listener>
<!-- Viewer Servlet, Supports SOAP -->
<servlet>
<servlet-name>ViewerServlet</servlet-name>
<servlet-class>org.eclipse.birt.report.servlet.ViewerServlet</servlet-class>
</servlet>
<!-- Engine Servlet -->
<servlet>
<servlet-name>EngineServlet</servlet-name>
<servlet-class>org.eclipse.birt.report.servlet.BirtEngineServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ViewerServlet</servlet-name>
<url-pattern>/frameset</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ViewerServlet</servlet-name>
<url-pattern>/run</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/preview</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/download</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/parameter</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/document</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/output</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EngineServlet</servlet-name>
<url-pattern>/extract</url-pattern>
</servlet-mapping>
还没完:
在jsp-config标签中添加
<taglib>
<taglib-uri>/birt.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/birt.tld</taglib-location>
</taglib>
如此,配置完成!
调用如下代码:展示报表,
http://localhost:8080/testProject/frameset?__report=/report/testReport.rptdesign
相关推荐
在本场景中,"ansible-deploy" 是一组用于部署 Hummingbird 的 Ansible 脚本,简化了系统的安装和配置过程。 一、Ansible 基础知识 1. **Ansible 概述**:Ansible 是基于 YAML 语言的自动化工具,采用无代理架构,...
总之,"thunderbird:用于在企业环境中分发的 Thunderbird 脚本和自定义"是企业级Thunderbird部署的重要资源,有助于提高邮件管理的效率和安全性。对于希望提升Thunderbird在企业中应用的企业IT团队而言,这是一个...
通过使用Qt框架,我们可以轻松地实现Flappy Bird游戏,并将其部署到多种平台上。我们可以使用Qt Creator工具来设计游戏的用户界面,并使用C++语言来编写游戏的逻辑代码。我们可以使用Qt框架中的多种技术,例如图形...
### bfd链路探测协议开源软件BIRD使用方法详解 #### 一、BFD链路探测协议...通过以上步骤,可以成功地在目标设备上部署并测试BIRD,从而实现对网络链路的快速检测和响应。这对于提高网络的可靠性和稳定性至关重要。
【标题】:“基于Linux下Nginx的安装与项目部署详解” 【描述】:本文将详细介绍如何在Linux系统中安装Nginx,并探讨其主要功能,包括反向代理、负载均衡以及项目部署的具体操作。 【标签】:“Nginx”,“Nginx...
8. **发布与部署**:完成开发后,我们需要将项目打包成HTML5、Android或iOS应用,这在LayaAir的打包工具中可以直接完成。 通过网上教程的学习,我们可以逐步搭建起Flappy Bird游戏的框架,实现游戏的基本功能。在...
此外,也可以学习到如何在Android环境下部署和运行游戏,这对于移动游戏开发来说是至关重要的。 五、拓展与优化 对源码进行深入分析后,开发者可以尝试进行各种拓展和优化,比如增加新的游戏元素、改进画面效果、...
此代码循环遍历每个Bird部署文件夹,并附加与该部署关联的所有文件。 然后为每个部署写入一个文件 's1_import_neurologger.m'(MATLAB):从Evolocus Neurologger设备导入和预处理传感器数据 来自原始.bin文件的数据...
项目包含了源码、教程及部署说明,确保学生能够从零开始,一步步构建出与原版 Flappy Bird 游戏体验相似的游戏。通过这个项目,学生不仅能够学习到如何使用 Python 和 PyGame 开发简单游戏,还能够理解游戏开发的...
"hummingbird-master" 文件夹包含了Hummingbird 的源代码,部署和使用可能涉及以下步骤: 1. **环境准备**:确保已安装Node.js 和npm(Node.js 包管理器)。 2. **克隆仓库**:使用Git克隆Hummingbird 的源代码仓库...
BEVFormer 是一种用于视觉感知的深度学习模型,它被设计用于生成三维空间中的俯视图表示(Bird's Eye View, BEV),这在自动驾驶领域中有着广泛应用。BEVFormer 通过使用 Transformer 架构处理图像数据,能够更好地...
然而,在这里提到的"bird_ram_RAM模型_bird_"标题似乎将RAM与图像识别相结合,这可能是指一个特定的机器学习或人工智能应用,其中RAM模型被用作处理和识别鸟类图片的工具。 描述中的“运用RAM结构进行实例仿真:鸟...
它的具体作用依赖于项目的具体需求,可能是部署配置、服务定义或其他清单文件。 hummingbird-golang资源项目结构清晰,遵循了Go语言的典型项目布局,并提供了一个完整的工具集合来支持开发者进行Web开发。该项目...
这两种加载方式为游戏的部署和更新提供了更大的灵活性。 在VC环境下,我们使用MFC的CBitmap类来处理图像资源,通过LoadBitmap或LoadImage函数实现图片的加载。同时,利用MFC的CRect和CPoint类进行坐标系统的操作,...
HummingBird平台作为物联网领域的轻量级开发平台,其设计理念便是以简洁、高效为出发点,它致力于为开发者提供一套完整的物联网应用开发和部署解决方案。HummingBird平台的出现,极大地降低了物联网项目的开发门槛,...
4. **BGP Route Reflector (BIRD)**:在大规模部署场景下,Calico会使用一个或多个BGP Route Reflector来替代全互联(mesh)模式,从而实现集中式路由分发,提高网络效率。 5. **vRouter**:Calico利用Linux内核...
从文件名推测,LadyBird可能使用Maven(因为“-master”在Maven项目中常见),它负责编译、打包、测试和部署。学习如何配置POM.xml文件并理解其依赖关系,有助于我们更好地理解项目的构建流程。 4. **模块化设计**...