JEECG整合finereport快速搭建与开发

FineReport介绍

         FineReport报表软件具有完备的报表填报功能,支持多级汇总填报。利用这一报表工具,用户即可把企业的业务模型,数据分析变成实际可操作的信息系统。利用报表展现、填报、汇总、统计分析、打印输出等功能搭建出轻量级企业报表平台。特别是采用主流的数据双向扩展,多源分片,纯拖拽等方式来进行报表设计,让报表设计人员无需掌握复杂的代码编写技能,从而业务人员也可以随时根据需要设计符合业务逻辑的报表,满足报表使用者的最终需求。无形中也降低了企业的运营成本.

更多介绍详见:

FineReport官网:http://www.finereport.com/

百度百科: http://baike.baidu.com/link?url=wyMAqDlInujEePMP7JP1DfApZQSE-X5lMMB47ZXdaYa0VR5qtuYyDwigJBjseKLGkRoccyr8hY2Nq9AnHYecEq

JEECG整合FineReport考虑:

JEECG目前仅支持JavaScript组件生成报表,缺少对第三方报表工具的支持,不利于报表的快速开发以及对报表的复杂需求的的满足。

JEECG整个FineReport步骤:

1、  从fineReport官方获取安装程序以及license文件。

2、  安装fineReport程序以及导入license文件。

3、  搭建JEECG开发环境,参照《JEECG开发指南v3.4.2.pdf》

4、  搭建完成之后,我们着手准备将FineReport整合到JEECG项目中。

5、  复制所需目录(备注:以下拷贝最好是在报表开发调试完成后,完成以下步骤)

5.1、全部复制

为了简便,可以直接将%FineReport_HOME%\WebReport\WEB-INF目录下面的classes,lib,reportlets,resources四个目录复制到%Tomcat_HOME% \webapps\jsp-examples\WEB-INF下。

注意:%FineReport_HOME%\WebReport\WEB-INF\classes文件夹下面可能会放置一些网络报表的class文件,在和您的工程集成时并无冲突。有关网络报表的介绍,可以在二次开发文档中找到。

5.2部分复制

也可以选择性的只复制必要性文件至已有工程中。

  • 必须复制的文件

fr-server-*.jar:包含了报表服务的所有功能,必须拷贝至WEB-INF\lib下;

fr-third-*.jar:包含了报表服务引用的第三方插件,必须拷贝至WEB-INF\lib下;

reportlets:该文件夹为FineReport服务器规定的,不能修改,且必须为小写,其下可以建立子目录,所有报表模板cpt文件必须保存在reportlets文件夹下,且reportlets文件必须放在WEB-INF\下;

resources:该文件夹也是FineReport服务器规定的,不能修改,且必须为小写,下面包含了报表服务器的配置信息,拷贝至WEB-INF下面。

以上文件或文件夹是必须拷贝到已有应用目录下的。

  • 选择性复制的文件

classes:该文件夹是应用服务器规定的,主要作用是存放.class文件。若对FineReport进行了二次开发,如自定义函数、程序数据源、程序网络报表等,也需要将编译后的class类文件拷贝到该文件夹下;

数据库驱动包:若报表中使用了JDBC连接了数据库,需要将对应的数据库驱动包如Oracle数据库的驱动ojdbc14.jar拷贝到WEB-INF\lib下,其他数据库驱动同样;

5.3. 修改web.xml文件

在已有工程的web.xml中添加相应的servlet与servlet-mapping子元素。

将%FineReport_HOME%/WebReport/WEB-INF下的web.xml中如下的部分复制到%Web_home%/webapps/Web工程名/WEB-INF下的web.xml中,在最后一个servlet之后插入:

<servlet>

<servlet-name>ReportServer</servlet-name>

<servlet-class>com.fr.web.ReportServlet</servlet-class>

<load-on-startup>0</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>ReportServer</servlet-name>

<url-pattern>/ReportServer</url-pattern>

</servlet-mapping>

6、  修改FineReport的 datasource.xml 的数据库连接

<ConnectionMap>

<Connection name="jeecg-dk"class="com.fr.data.impl.JDBCDatabaseConnection">

<DatabaseAttr/>

<JDBCDatabaseAttr url="jdbc:mysql://localhost/jeecg-dk"

driver="com.mysql.jdbc.Driver"

user="root"

password="___006100210065007b"

encryptPassword="true">

<DBCPAttr/>

</JDBCDatabaseAttr>

</Connection>

</ConnectionMap>

Connection name 为报表工程中的数据源连接路名称。示例中给出的是jeecg-dk.

配置完成之后,我们就将FineReport的报表工程整合到我们的项目当中了。

剩下的就是需要解决JEECG工程如何调用这些报表。

7、  在JEECG中配置浏览FineReport报表的菜单。在/jeecg/system/service/impl/RepairServiceImpl.java中添加如下代码:

TSFunction reportdemo = new TSFunction();

reportdemo.setFunctionName("报表操作名称");

reportdemo.setFunctionUrl("ReportServer?reportlet=报表名称.cpt&isIframe");

reportdemo.setFunctionLevel((short)1);

reportdemo.setFunctionOrder("17");

reportdemo.setTSFunction(state);

reportdemo.setTSIcon(pic);

commonDao.saveOrUpdate(reportdemo);

8、 发布应用,启动tomcat.

9、 进入系统

10、      根据第7步设定的菜单按钮,如下图:

11、      点击按钮查询出报表。如图:

JEECG整合finereport快速搭建与开发相关推荐

  1. php开发架构设计,基于php的快速搭建SPA开发架构的框架设计与开发

    程序 员之 家 基于 P h p 的快速搭建 S PA 开发架构的框架设计与 开发 ?叶松鑫 马 灏辉 何子 安 彭吉琪 黄钰冰 (佛 山科学技 术学 院 电子 信息工程 学 院 广东 佛 山 528 ...

  2. SpringMVC学习(二)——快速搭建SpringMVC开发环境(注解方式)

    文章目录 说明 1.工程搭建 2.注解配置 2.1.context:annotation-config说明 2.2.context:component-scan配置说明 2.3.mvc:annotat ...

  3. mybatis注解开发_快速搭建MyBatis开发环境(配置版+注解版)

    下面我们搭建一下MyBaits的开发环境,也就是一个用MyBaits框架访问数据库的例子. 1.项目结构如下 这里搭建的是一个maven项目. 2.引入依赖pom.xml 4.0.0com.suibi ...

  4. 修正《用Docker快速搭建Go开发环境》文章中的一处错误

    上周写的文章<五分钟用Docker快速搭建Go开发环境>,文章发出去后有不少阅读量,而且从后台看的数据 60%的人都读完了.今天我自己用下面命令往 容器里的 Go 项目里下载包时发现了一处 ...

  5. EclipseLink+H2 快速搭建JPA开发环境

    JPA是Java Persistence API, 是Java提供的持久层开发的统一API.但是JPA只是定义的规范接口,并没有提供具体实现, JPA的具体实现有Hibernate .EclipseL ...

  6. linux开发 stc_在Linux上快速搭建8051开发环境

    在Linux上快速搭建8051开发环境(2018-7-2) 0. 写在开始之前 实验操作系统环境: Ubuntu 16.04 编译器: sdcc SDCC - Small Device C Compi ...

  7. Windows7/10上快速搭建Tesseract-OCR开发环境操作步骤

    之前在https://blog.csdn.net/fengbingchun/article/details/51628957 中描述过如何在Windows上搭建Tesseract-OCR开发环境,那时 ...

  8. 利用vagrant快速搭建rails开发环境

    为什么80%的码农都做不了架构师?>>>    Deprecated 前言 当我们学习一门新的语言或技术的时候,最麻烦或比较浪费时间的事情就是搭建开发环境.而搭建开发环境与我们将要学 ...

  9. docker容器没有apt_使用Docker快速搭建Rails开发环境

    引言 Docker with rails 学习 Ruby On Rails 开发的同学经常会遇到因为电脑系统环境不同,同样的程序在自己这边跑起来没问题,给了其他人之后就是各种依赖或者环境问题,尤其是在 ...

最新文章

  1. 微信小程序 通过云函数请求http网站接口
  2. echarts实时更新数据_虎牙为S10拼了8.0年度更新!随时回放实时数据,还能养柴犬...
  3. 斯坦福CS231n 2017最新课程:李飞飞详解深度学习的框架实现与对比
  4. JavaScript中的原型,对split方法的重写
  5. 最短Hamilton路径与旅行商问题联系与解决
  6. 聊一聊,用户画像的前世今生
  7. Developer Express 中Gridcontrol获取选中行单元格的值
  8. 前端教程丨手把手教你用 Next.js 搭建个人博客,从入门到吃鸡
  9. linux python2.7 scipy_scipy.sparse.linalg.sp为Linux系统上的大型稀疏矩阵解决了令人惊讶的行为...
  10. Flash 与 JavaScript的交互总结
  11. 【UML】用例图Use Case diagram(转)
  12. Qt_QPushButton 原生按钮长按
  13. native2ascii命令详解
  14. 【冈萨雷斯的数字图像处理1~6章复习考试知识整理】
  15. Github上如何找开源代码
  16. Sue 的小球 ball
  17. ./node_modules/.bin/webpack指令出错,该如何解决???
  18. 使用Vite搭建基础项目
  19. 人月神话札记:编程的苦恼和乐趣
  20. 网站源码、模板分享(前端)

热门文章

  1. andriod 自写的view 获得屏幕大小和 获得自写view大小的不同写法
  2. CSRF:跨站请求伪造
  3. (计算机组成原理)第一章计算机系统概述-第二节:计算机硬件组成(存储器、运算器和控制器概述及计算机工作过程详解)
  4. C++使用localtime函数需要注意的地方
  5. 面试题24. 反转链表
  6. Java中类变量(静态变量)和实例变量区别
  7. C/C++语言函数参数里的“...”作用,va_list的使用(stdarg.h)
  8. VC++中实现INI文件读写的方法和示例
  9. centos7操作SSH/SSHD服务(查看/启动/重启/自启)
  10. Latex可能遇到的一些问题