方法和接口说明- 填报监听类-报表展现标签与API
目录

方法和接口说明

接口名

填报监听抽象类:com.runqian.report4.usermodel.input.AbstractInputListener

接口说明

使用填报表进行数据填报的整个过程中,填报监听器的监听过程如下:

(1)在填报表页面中填写数据并触发提交 -> (2)填报数据提交至系统服务器 -> (3)调用监听器的beforeSave()方法 -> (4)将填报数据提交至数据库(尚未commit) -> (5)调用监听器的afterSave()方法 -> (6)将填报数据最终向数据库commit

因此,开发者可以自行定义填报监听类,继承监听抽象类AbstractInputListener,并实现beforeSave()、afterSave()方法,保存数据前、后的客户化处理代码分别写在这两个方法中。

监听器类中可以使用session对象、request对象、response对象、报表运行环境对象context、获得前端提交的数据、修改前端提交的数据,因此可以检查用户登录信息、操作权限、数据有效性或其他信息。

接口方法

beforeSave()

语法:public void beforeSave() throws Exception

功能说明:填报数据保存到数据库前的处理方法,此方法由用户类覆盖,系统自动调用此方法。执行此方法出现异常时,将不再执行将后续的数据保存至数据库、afterSave()、commit提交等处理。

afterSave()

语法:public void afterSave()throws Exception

功能说明:填报数据保存到数据库后但执行commit前的处理方法,此方法由用户类覆盖,系统自动调用此方法。执行此方法出现异常时,将终止数据保存,已经提交到数据库的数据会进行事务回滚。

getInputSql()

语法:public InputSQL[] getInputSql()

功能说明:可以获得填报保存数据时生成的SQL语句的信息,返回保存数据时生成的InputSQL对象数组。

返回值:保存数据时生成的InputSQL对象数组

delete()

语法:public void delete( Object[] params )

参数说明:

功能说明:用于行式报表,实现数据的删除,数据提交时调用。

重要变量

填报监听类中有以下变量,开发者可以直接使用这些对象:

protected Context context;               //保存报表时的上下文环境

protected HttpServletRequest request;    //WEB应用中的Request对象

protected HttpServletResponse response;  //WEB应用中的Response对象

protected IReport report;                //填报提交后的报表对象

protected String tableId;                //多表填报时,当前要保存报表在网页中的ID名

protected ArrayList sqls = new ArrayList(); //保存数据时生成的InputSQL对象列表

protected HashMap conMap;                //保存数据时产生的数据源与数据库连接映射表