<af:serverListener>

serverListener server listener


serverListenerタグは、カスタムのクライアント・イベントが起動された際に実行する必要があるサーバー側のリスナーを登録する宣言的方法です。このタグはリッチ・クライアントでのみサポートされているため、サーバーでレンダリングされるすべてのコンポートに無視されます。ターゲット・メソッドはvoidを返し、1つの引数、ClientEventオブジェクトを受け取る必要があります。

クライアントからカスタム・イベントを起動するには、AdfCustomEvent.queue() Javascriptメソッドを使用します。

<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>

例:

この例では、タイプがmyCustomEventのカスタム・イベントがこのコンポーネントに送信されると、サーバーのdoCustomEvent()メソッドを呼び出します。

<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>

属性

名前 ELのサポート 説明
type String なし リスニング対象のカスタム・クライアント側コンポーネント・イベントのタイプ。
method String 必須 タイプのイベントでトリガーされると呼び出されるサーバー側のJavaメソッドを指すEL式。Javaメソッドはvoidを返し、1つの引数であるClientEventオブジェクトを受け取る必要があります。type