第1章 概述
UniEAP Report提供了收藏报表结果(或称为报表快照)的功能,如果用户觉得报表某一次的执行结果比较重要,可以使用收藏功能将它保存到数据库中,方便以后查看。在浏览器查看报表时,就可以使用右上角的功能按钮收藏报表,如下图所示:
但如果想要在后台自动收藏报表结果,就要使用UniEAP Report提供的Java API了。
第2章 使用Java API收藏报表结果
【注意】使用Java API的前提是报表引擎已经启动并成功初始化,即通过浏览器能够正常访问报表服务。
在后台收藏报表和导出报表(可参阅《UniEAP Report最佳实践之——如何在后台导出各种格式的文件》)的步骤类似,具体如下:
1.创建报表引擎实例
ReportEngine engine = ReportManager.create();
2.创建上下文对象
Map context = new HashMap(3);
3.新建环境对象
Environment env = new ThreadLocalEnvironment();
4.将必要参数保存到上下文对象中
a) 环境对象
ReportContextUtil.setContext(context, ReportContext.ENV, env);
b) 缓存ID,此参数非必须
ReportContextUtil.setContext(context,ReportContext.CACHEID, cachedId);
5.构造报表参数Map对象,假设报表所需参数为a和b,参数值分别为1和“2”
Map params = new HashMap();
params.put(“a”, “1”);
params.put(“b”, “2”);
注意参数值必须是String类型,无论报表定义中参数的类型是什么。
6.取得报表
Report report = engine.getReport(reportId, params, context);
reportId :报表ID
params : 报表参数的键值对
context :上下文对象
7.调用save()方法保存报表结果到数据库中:
String id = report.save(String parentId, String reportId, String caption, String creater);
parentId :父节点ID,即保存到哪个目录节点之下
reportId :报表模板ID
caption :报表结果名称
creater :报表结果创建者
save()方法会返回新创建的报表结果的ID,可用于以后访问该报表结果。
第3章 在浏览器中查看报表结果
只需访问如下地址:
http://[SERVER]:[PORT]/[APPNAME]/Report-ResultAction.do?reportId=[ID]&isResultant=true。
其中将“[ID]”替换为调用save()方法返回的值。