整合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>  

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

<ConnectionMap>
<Connection name="" class="com.fr.data.impl.JDBCDatabaseConnection">
<DatabaseAttr/>
<JDBCDatabaseAttr url="jdbc:mysql://localhost/" 
driver="com.mysql.jdbc.Driver" 
user="root" 
password="_006100210065007b" 
encryptPassword="true">
<DBCPAttr/>
</JDBCDatabaseAttr>
</Connection>
</ConnectionMap>
Connection name 为报表工程中的数据源连接路名称。
配置完成之后,我们就将FineReport的报表工程整合到我们的项目当中了。
剩下的就是需要解决工程如何调用这些报表。

ReportServer?reportlet=报表名称.cpt&isIframe

你可能感兴趣的:(整合finereport快速搭建与开发)