最近接触报表,使用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文件的数据...
"hummingbird-master" 文件夹包含了Hummingbird 的源代码,部署和使用可能涉及以下步骤: 1. **环境准备**:确保已安装Node.js 和npm(Node.js 包管理器)。 2. **克隆仓库**:使用Git克隆Hummingbird 的源代码仓库...
然而,在这里提到的"bird_ram_RAM模型_bird_"标题似乎将RAM与图像识别相结合,这可能是指一个特定的机器学习或人工智能应用,其中RAM模型被用作处理和识别鸟类图片的工具。 描述中的“运用RAM结构进行实例仿真:鸟...
这两种加载方式为游戏的部署和更新提供了更大的灵活性。 在VC环境下,我们使用MFC的CBitmap类来处理图像资源,通过LoadBitmap或LoadImage函数实现图片的加载。同时,利用MFC的CRect和CPoint类进行坐标系统的操作,...
4. **BGP Route Reflector (BIRD)**:在大规模部署场景下,Calico会使用一个或多个BGP Route Reflector来替代全互联(mesh)模式,从而实现集中式路由分发,提高网络效率。 5. **vRouter**:Calico利用Linux内核...
从文件名推测,LadyBird可能使用Maven(因为“-master”在Maven项目中常见),它负责编译、打包、测试和部署。学习如何配置POM.xml文件并理解其依赖关系,有助于我们更好地理解项目的构建流程。 4. **模块化设计**...
【JSD2302 bird-boot V1-V20完整项目】是一个专注于Java开发的实践项目,涵盖了从版本V1到V20的逐步发展和改进。该项目的核心是"bird-boot",它很可能是一个基于Spring Boot框架的应用程序,因为"boot"在Java开发中...
10. **持续集成/持续部署(CI/CD)**:现代开发流程中,可能会使用Jenkins、Travis CI或GitHub Actions等工具进行自动化测试和部署。 由于缺乏具体的项目源码和详细描述,以上只是基于"hummingbird_python"这一名称...
7. **Webpack和Babel**:项目可能使用Webpack进行模块打包,它将各种资源文件(如JS、CSS、图片等)转换并合并成一个或多个可部署的文件。Babel则负责将ES6+代码转译为浏览器可执行的ES5代码。 8. **测试**:React...
ssm整合开发,小程序毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统...
TensorFlow.js是Google开源的一个JavaScript库,它允许开发者在浏览器中构建、训练和部署机器学习模型。这不仅使项目更加易于分享和演示,也降低了学习机器学习的门槛,因为用户无需复杂的本地设置即可体验和研究。 ...
Freebird于2014年5月首次成功部署在康涅狄格河中。随后,它又部署在了哥伦比亚河以及康涅狄格州的第二次航行中。 数据的全面分析仍在进行中,但是倾角的耗散值和结构似乎是合理的,并且与相同环境中的其他测量结果...