Dorado 5 : 5.13.FormDataset (RF1)

FormDataset继承自AbstractDataset.
FormDataset最主要的功能是其对象的构造与Request的parameters相关。
该类继承覆盖了doLoad方法,在该方法内部利用Request对象构造Dataset.
如当前页面的url请求为formdatasetdemo.jsp?param1=&param2=&param3=
则当FormDataset在初始化的时候会自动根据request的parameters创建相关的字段,分别为param1,param2,param3.
FormDataset自动新增一条记录,将request中parameters中的值作为FormDataset新增记录的值。
FormDataset使用方比较简单,它主要是用在一些不需要从后台加载数据到该表单的场合,比如:查询的输入表单等。为这种类型的Dataset添加字段的方法有两种,其一是在Dorado Studio中通过点击鼠标的方式,如下图:

图表 60
其二是为其的objectClazz属性指定一个POJO类,启动工程后,选中当前dataset的Fields节点,点击自动生成fields的图标,Dorado引擎既可以根据objectClazz属性指定一个POJO类自动生成对应的字段,如下图:

图表 61
如果我们利用这种方式来生成字段有一个很重要的属性需要指出,既"maxPropertyLevel"。该属性指明了Dorado引擎根据objectClazz属性指定一个POJO类自动生成对应的字段的深度,因为我们的POJO类中可能还嵌套其它的类在里面,依次类推(如员工与部门的关系表现在类实体上时为在一个员工类里会有一个部门的属性),对于这种情况我们Dorado引擎查找的深度,默认情况下它的值是"2",表明Dorado引擎会找到该类里所有子类的属性。
FormDataset的主要属性

属性名

说明

insertOnEmpty

当dataset里没有数据时是否自动插入一条空记录(该属性默认值为true)

listener

监听器,可以通过该属性为该dataset添加一个监听器类,通过该监听器类可以实现对该dataset属性及数据填充的控制

maxPropertyLevel

属性指明了Dorado引擎根据objectClazz属性指定一个POJO类自动生成对应的字段的深度,默认情况下它的值是"2"。

objectClazz

为该Dataset指定一个对象类,指定后可以根据该类生成对应字段,同时在提交时可以把数据自动映射成该类的一个个实例。