1 在使用ADF组件时大都会处理组件的事件,而处理事件必须理解其一些原理,比如Root Event,这种组件的特征是当这个Root Event触发时只会对此组件的子组件进行刷新。下面是一根具备Ro0t Event的组件:
Ø Popup
Ø Region
Ø PanelCollection
Ø Calendar
Ø editablevalueHole(比如Inputtext)
Event和EventRott组件请查阅:
点击打开链接的Table6-1图
2 关于客户端模型
ADF的组件都有客户端和服务端事件二种,当一个组件执行某一客户端事件时可能会有3种情况:
1) 触发客户端事件的时候同时触发其它的客户端事件和服务端事件
2) 触发客户端事件的时候同时触发服务端事件
3) 触发客户端事件后就停止了。
大部分情况,客户端事件后会传播到服务端事件,当然我们也可以在允许的情况下阻止不传播到服务端。
3 处理客户端事件
有二种方法来处理这种事件一种是javascript,另一种是在java代码中。这二种方式的具体实现过程请参考官方文档。在这里主要要重点说明的是在上一章节中必须知道哪些组件的事件可以自动传播到服务端,哪些可以人为的控制不传播到服务端,哪些是无法控制的。具体请查阅点击打开链接的Table6-3图
阻止客户端事件传播到服务端的代码是:event.cancel();