ADF-BC 特色功能之二:强大的自动计算与验证功能

开发环境:JDeveloper 11.1.2.1.0。

完成 《 Examining ADF Business Components New Features 》之 Enhanced Calculation and Validation。

1. Transient Attribute
在EO上增加临时属性TotalComp,并使用Groovy设置其值=(Salary!=null?Salary:0)+(Salary*(CommissionPct!=null?CommissionPct:0))
在VO上增加属性fromEO,那为什么不直接在VO上增加临时属性呢?

2. 验证 Foreign Keys:Key Exists
LOVs可以限制用户只能从已有的外键中选择,但有时界面要求使用文本输入框,而不是下拉列表,这时候就需要使用Key Exists来验证用户输入的外键是否正确。
并且,Key Exists在模型层设置该验证功能,所有使用该模型的程序(无论是Web应用,还是其它程序),都必须通过验证才可以提交。
LOVs是定义在VO上的,而 Key Exists是定义在EO上的。

3. 约束性条件依赖:Compare
某个Attribute的值与设定值进行比较,为真则满足要求,否则报错。
其中可以设定触发条件和触发Attributes。

4. 使用Groovy Script验证
如果脚本中有对象为null,Groovy不会抛出NullPointerException,而是表达式结果为null,null对应的Boolean值为false。
另外,教程文档上的Groovy表达式有错,Salary为Decimal类型,模运算要求必须是整型,因此需要转换。
最终的Script如下:
if (Dept1.DepartmentName.toUpperCase().endsWith("S") && Salary.intValue() % 5 != 0) {
return false;
}

return true;


http://maping930883.blogspot.com/2009/09/adf014adf-bc.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值