アプリケーションでのユーザー・イベントの例には、ボタンまたはリンクのクリック、メニューまたはリストからの項目の選択、フィールドの値の変更などがあります。イベントによって、ユーザー・インタフェースの変更がトリガーされる場合、またはバックエンド・アプリケーション・コードが起動される場合(あるいはその両方)があります。
アプリケーションでユーザー・イベントに応答できるようにするには、通常、イベント・ハンドラをコンポーネントに登録します。JavaServer Faces(JSF)でのイベント処理は、JavaBeansイベント・モデルに基づいており、コンポーネントによって生成されたイベントの処理にはイベント・クラスとイベント・リスナーが使用されます。すべてのJSFイベントがjavax.faces.event.FacesEvent
クラスを拡張します。
イベントの通知を受けるコンポーネントには、javax.faces.event.FacesListener
インタフェースの実装が登録されている必要があります。リスナーの実装では、イベントを処理するメソッドが1つ宣言されます。また、リスナー・クラスを実装するかわりに、メソッドをバッキングBeanに実装してイベントを処理することもできます。
ボタンのクリックなどのユーザー・イベントが発生すると、コンポーネントでは、FacesEvent
を拡張するイベント・オブジェクトが作成されます。このイベント・オブジェクトによって、イベントに関する情報が格納され、イベントを生成したコンポーネントが識別されます。イベントはイベント・キューにも追加されます。適切な時期に、JSFは、コンポーネントに対して、登録されたリスナーにイベントをブロードキャストするように指示し、リスナーは、イベントを処理するリスナー・メソッドを起動します。JSFライフサイクル・フェーズにおけるイベント作成、キューイングおよびブロードキャストの時期に関する情報は、「イベントおよびJSFライフサイクルについて」を参照してください。
JSFでサポートされているイベント・タイプは、次のとおりです。
ADF Facesコンポーネントでは、ReturnEvent
やLaunchEvent
など、他のイベントがサポートされます。「ADF Facesイベントおよびリスナーについて」を参照してください。
アプリケーション開発者は、標準コンポーネントまたはカスタム・コンポーネントに対するイベントを処理するために、次のいずれかの処理を実行できます。
カスタム・コンポーネントについては、次の処理も実行する必要があります。
FacesEvent
クラスを実装する必要があります。
decode
メソッドを使用して手動でキューイングする必要があります。
カスタム・コンポーネントに対するイベント・クラスとメソッドの記述方法の詳細は、javax.faces.event
に関するJavadocを参照するか、次に示すURLのjava.sun.comのWebページにアクセスしてください。
http://java.sun.com/j2ee/javaserverfaces/
イベント処理にクライアント側のJavaScriptを使用するために、JSFでは、ほとんどのJSF HTMLタグおよびADF Facesコンポーネント・タグに対するDHTMLイベント属性をサポートしています。プロパティ・インスペクタによって、次のDHTMLイベント属性を挿入できます。
onblur
onchange
onclick
ondblclick
onfocus
onkeydown
onkeypress
onkeyup
onmousedown
onmousemove
onmouseout
onmouseover
onmouseup
onselect
onreset
onsubmit
イベントおよびimmediate属性について
JSFでのイベントおよびイベント・リスナーの使用
Copyright © 1997, 2006, Oracle. All rights reserved.