部署与调用
监听类的部署
使用前,将编译后的报表计算监听类class文件,存放至应用的WEB-INF/classes/com/geezn/custom目录下或其子目录下。
例如:
放在WEB-INF/classes/com/geezn/custom/MyViewReportListener.class
或者WEB-INF/classes/com/geezn/custom/test/MyViewReportListener.class
调用方法
在报表展现时不同的报表既可以调用不同的监听实现类,对报表进行不同的处理。也可以调用同一个监听实现类对报表进行相同的处理。这取决于报表展现时所调用的报表计算监听类名是否一致。
此外,使用报表计算监听类对报表进行客户化处理时,无需传递当前报表的名称等信息,因为可以直接从接口方法的参数中获取当前需计算展现的报表对象。因此该监听接口既可以实现对所有报表的批量操作处理,也能够仅对特定的报表进行业务逻辑处理。并且在一个监听实现类中就可以同时调用已被实现的多个监听方法来对报表对象的不同计算阶段分别做针对性的处理。
具体调用方法如下:
SR模式调用
如果是调用SR模块展现报表,SR展现模块已经封装了报表计算监听类参数:viewReportListener
该参数不设置时,默认值为no。
可直接传递该参数值来指定报表展现时所调用的监听类。注意参数值必须为监听类的完整类路径。
具体SR参数设置方式可参考:SR展现设置。
VR标签调用
如果是在自定义的jsp中使用VR标签展现报表,view:report和view:input标签(即展现普通报表和单个填报表的标签)可以使用报表计算监听类,view:group和view:html标签不支持。
调用方法是通过配置标签的viewReportListener属性,指定需要调用的报表计算监听类。该属性不设置时,默认值为no。
例如下面代码,是使用view:report标签展现报表时,调用一个指定的监听类:
<view:report name="report1"
srcType="file"
fileName="/vrdemo/report.raq"
viewReportListener="com/geezn/custom/MyViewReportListener" //设置报表计算监听类
...//其它更多标签属性
/>
注意标签中viewReportListener属性值为监听类的完整类路径。