JSF コントロールのイベント・ハンドラーの設定

JavaServer Faces (JSF) コントロールに対して、イベント・ハンドラーの働きをする JavaScript 関数を割り当てたり除去したりすることができます。このコンテキストでのイベント・ハンドラー とは、 ページ上で特定のイベントが発生するときに呼び出される JavaScript 関数です。例えば、onClick イベント・ハンドラーを使用して、テキスト入力コントロールに関数を割り当てることができます。 ブラウザーでこのコントロールをクリックすると、onClick イベント・ハンドラーとして定義された関数が実行されます。

イベント・ハンドラーとして使用される JavaScript 関数は、ページ自体の <script> タグ、またはそのページにリンクされているスクリプト・ファイルという形で、そのページで使用できるようになっていなければなりません。JSF コントロールのイベント・ハンドラーとして、EGL 関数を使用することはできません。

このタスクには、次のような前提条件があります。 これらの前提条件について詳しくは、ソース・アシスタントによる JSF コンポーネント・ツリーへのアクセスを参照してください。
イベント・ハンドラーを JSF コントロールに割り当てたり JSF コントロールから除去したりするには、 以下のステップを実行します。
  1. JSF ハンドラーの関数内のブランク行で、Ctrl+Shift+Z を押す。ページ上の JSF コントロールを表示する「EGL ソース・アシスタント」ウィンドウが開きます。
  2. 「EGL ソース・アシスタント」ウィンドウで、アクセスしたい JSF イメージ・コントロールを選択する。
  3. 「OK」をクリックします。
    EGL ソース・アシスタントが、2 行の EGL コードを JSF ハンドラーに追加します。第 1 行では、選択した JSF コントロールに一致する型の EGL 変数が 定義されます。第 2 行では、その変数が JSF コントロールに関連付けられます。 例えば、JSF 入力テキスト・コントロールにアクセスするためのコードは、 次のようになります。
    text1 HtmlInputText;
    text1 = myViewRoot.findComponent("form1:text1");
  4. ソース・アシスタントで作成した EGL 変数を使用して、イベント・ハンドラーの割り当てまたは除去を行う。例えば、JavaScript 関数 myFunction() をテキスト・コントロールの onClick イベント・ハンドラーとして割り当てるには、次のコードを追加します。
    text1.setOnclick("myFunction");
    イベント・ハンドラーを JSF コントロールから除去するには、イベント・ハンドラーとして ブランク・ストリングを割り当てます。
    text1.setOnclick("");

フィードバック