<af:serverListener>

serverListener server listener


The serverListener tag is a declarative way to register a server-side listener that should be executed when a custom client event is fired. This tag will be ignored for any server-rendered components, as it is only supported for the rich client. The target method must return void and take one argument, a ClientEvent object.

To fire a custom event from the client, use the AdfCustomEvent.queue() Javascript method:

<source>
/**
 * Convenience function for queueing an Custom event from a component.
 * @param {AdfUIComponent} Component to queue the custom event on
 * @param {String} the type of the event
 * @param {Object} a set of parameters to include on the event.  Reserved
 *    parameter names include "type" and "immediate".
 * @param (boolean) whether the custom event is "immediate" - which will
 *  cause it to be delivered during Apply Request Values on the server,
 *  or not immediate, in which case it will be delivered during
 *  Invoke Application. 
 * @final
 */
AdfCustomEvent.queue = function(component, type, params, immediate) { ... }

</source>

Example:

This example will invoke the doCustomEvent() method on the server when a custom event of type "myCustomEvent" is sent to this component.

<source>
            <script>
            var inputComp = someOtherComp.findComponent("myInput");
            AdfCustomEvent.queue(inputComp,
                                 "myCustomEvent",
                                 // Send one parameter
                                 {skyIsFalling:false},
                                 // Make it "immediate" on the server
                                 true);
            </script>
            
            <af:inputText clientComponent="true" id="myInput" value="Can send custom events">
                <af:serverListener type="myCustomEvent" method="#{bean.doCustomEvent}"/>
            </af:inputText>

</source>

<source>
             public void doCustomEvent(ClientEvent event)
             {
               if (Boolean.TRUE.equals(event.getParameters().get("skyIsFalling")))
               {
                 ... ;
               }
             }

</source>

Attributes

Name Type Supports EL? Description
type String no the type of custom client-side component event to listen for
method String required an EL expression pointing to the server-side Java method to invoke when triggered by an event of type. The Java method must return void and take one argument, a ClientEvent object. type