概述
本文主要描述如何在ADF中使用Client Listener配合Server Listener调用服务器端的方法,实现对于服务器端业务逻辑的调用或逻辑处理。
实现
1、创建ADF应用,并在ViewController项目中创建新页面main.jspx,为方便处理,在创建页面时为该页面生成对应的Backing Bean
2、拖动ADF Button到main.jspx页面,如图为该按钮分别添加Client Listener与Server Listener
Client Listener:
Server Listener:
3、由于在2中添加的Client Listener中调用的客户端方法为callClientMethod,因此需在页面添加JavaScript,即添加callClientMethod方法,代码如下(添加位置<af:document>与<af:form>之间):
<f:facet name="metaContainer">
<af:group>
<trh:script>
<![CDATA[
function callClientMethod(event){
AdfCustomEvent.queue(event.getSource(), "callServerMethod",{params:'click button'}, true);
}
]]>
</trh:script>
</af:group>
</f:facet>
4、上步中可以看到,在该JavaScript方法中调用了名为callServerMethod的Server Listener,即在步骤2中添加的Server Listener,并传入了params参数,传入字符串“click button”。该Server Listener又调用了backing bean中的clickButtonListener()方法,代码如下:
5、保存应用,运行该应用
本文转自Oracle Seeker:http://oracleseeker.com/2009/10/13/adf_client_server_listener/