历史版本17 :从数据库读取报表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

上一节 中我们已经将 cpt 模板保存入库了,当需要访问报表的时候,我们便可以从数据库中根据报表名称取出报表,不需要再保存为 cpt 模板,可以直接转为网络报表,在 Web 浏览器中进行访问。例如在浏览器中输入:

http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.ReadFromDatabase&cptname=GettingStarted.cpt,就可以读出上一节中保存的模板了。

若您修改参数 cptname 的值,就可以查看数据库中不同的报表。

注:frm 模板保存入库方式与 cpt 一样,但要注意 frm 模板大小,模板内存过大会有无法入库的情况发生。


2. 实现步骤编辑

2.1 编写读取模板程序

新建类 ReadFromDatabase,继承 com.fr.web.Reportlet 抽象类,并实现 public Report createReport(ReportletRequest reportletRequest) 方法。完整代码如下所示:

https://git.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/demo/ReadFromDatabase.java

2.2 编译生成类文件

在 Java 开发平台中会自动编译,在此不再详述。

将编译后的 ReadFromDatabase.class 类放至应用目录%FR_HOME%/webapps/webroot/WEB-INF/classes/com/fr/demo/下。


2.3 发布并访问

编译源文件,启动报表服务器,输入地址 http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.ReadFromDatabase&cptname=GettingStarted.cpt,就可以看到报表结果了,如下图所示:

222