原创

JEECG整合finereport快速搭建与开发

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://jeecg.blog.csdn.net/article/details/18980531

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、      点击按钮查询出报表。如图:

 

文章最后发布于: 2014-02-08 10:42:26
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览