私はOracleのADFを学習しており、コンテキストイベントについてより深く理解したいと考えています。JSFに精通しており、この抽象化はバニラJSFにはありません。コンテキストイベントとは何であり、アプリケーション開発者としてこの機能をどのように活用できるでしょうか。 ADF?
3 に答える
簡単に言うと、コンテキストイベントは、同じページにある2つの独立したタスクフロー間で通信する方法です。タスクフローは独立しているため、同じページにある他の特定のタスクフローを認識したり、依存したりする必要はありません。コンテキストイベントメカニズムにより、同じページでイベント/データを連携および受け渡ししながら、独立性を維持できます。
引用:
コンテキストイベントには2つの部分があります。
-カスタムペイロードの有無にかかわらず、名前付きイベントを発生させるボタンなどのパブリッシャー(またはプロデューサー)
-特定の名前のイベントまたはワイルドカードイベントをリッスンして、そのイベントを処理するハンドラー(またはコンシューマー)
コンテキスト・イベント機能は、Oracle ADFバインディング・レイヤーを活用して、イベント通知とペイロードを、制限付きタスク・フローまたは親ビューの登録済みイベント・ハンドラーに渡します。ペイロードは、ハンドラーでイベントを処理するメソッドに引数として渡されます。ペイロードの内容はカスタマイズ可能です。デフォルトでは、コンテキストイベントのペイロードは、JavaServer Faces、Oracle ADF Faces、またはOracleADFバインディングイベントオブジェクトです。
領域を含むビューは、ページ定義ファイルの実行可能ファイルセクションでタスクフローバインディングを定義します。バインディングは、現在のブラウザページの特定の時間に初期化されるすべてのバインディングコンテナを階層的に接続します。イベント通知は、初期化されたバインディングコンテナで定義されたイベントマッピングに公開されます。イベントは最初にローカルバインディングコンテナに渡され、次に親コンテナと兄弟コンテナに公開されます。
イベントは、最初に、構成でイベントとプロデューサー名を指定するイベントマッピングによって処理されます。イベント名のみを含み、プロデューサー名にワイルドカード文字(アスタリスク)を指定するイベントマップは、最後に通知されます。ページ定義ファイルまたはadf-config.xmlファイルの構成を変更することにより、ワイルドカードイベントの処理を抑制することができます。
Vanila JSFには、イベント(ActionおよびValueChange)とイベントリスナー、カスタムコンポーネント、およびカスタムイベントリスナーがあります。ADFコンテキストイベントは、OracleADFでサポートされているカスタムイベントです。
ありがとうペディ