pageHandler から JSF コンポーネントへのアクセス

EGL コードを使用して、JSF コンポーネントで認識される Java™ 関数を呼び出すことができます。 この方法で、これらのコンポーネントの外観や振る舞いを、 EGL pageHandler から変更することができます。以下は、JSF コンポーネントにアクセスする EGL コードが含まれる ページ・コード・ファイルの例です。
package pagehandlers ;

import com.ibm.egl.jsf.*;

pageHandler myPageHandler
  {onPageLoadFunction = onPageLoad,
  view = "myPage.jsp",
  viewRootVar = "myViewRoot"}

  myViewRoot UIViewRoot;

  function onPageLoad()
    myInputField HtmlInputText;
    myInputField = myViewRoot.findComponent("form1:text1");
    myInputField.setStyle("color : red");
  end

end
pageHandler から JSF コンポーネントにアクセスするには、以下のステップを実行します。
  1. ご使用の EGL Web プロジェクトに、JSF コンポーネント・インターフェースのサポートがあることを確認する。 『EGL Web プロジェクトへの JSF コンポーネント・インターフェース・サポートの追加』を参照してください。
  2. Faces JSP ファイルを作成して、そのファイルに 1 つ以上の JSF コンポーネントを追加する。
  3. (オプション) JSF コンポーネントの ID 属性を変更して、 EGL コードから簡単に検出できるようにする。ID 属性は、コンポーネントを選択し、 「プロパティー」ビューの「ID」フィールドに分かりやすいニーモニックを入力することによって 変更できます。
  4. ページのページ・コード・ファイルに以下のコードを追加する。Faces JSP ファイルを作成する前に、 JSF コンポーネント・インターフェースのサポートをプロジェクトに追加した場合は、 このコードが自動的にページ・コード・ファイルに追加されます。
    • 以下の import 文を追加する。
      import com.ibm.egl.jsf.*

      この文でインポートされるパッケージには、一連のインターフェース・パーツが含まれ、そのそれぞれが、 Java コードへのアクセスを提供します。 インターフェースの仕組みを知っておく必要はありませんが、 『EGL インターフェース・テクノロジー』にその説明があります。

    • ページの pageHandler 内で、UIViewRoot 型の変数を宣言する。
    • pageHandler プロパティー viewRootVar で、UIViewRoot 変数の名前を指定する。
  5. pageHandler の関数内のブランク行で、Ctrl + Shift + Z を押す。 「EGL ソース・アシスタント」ウィンドウが開き、ページ上に JSF コンポーネントが表示されます。
  6. 「EGL ソース・アシスタント」ウィンドウで、アクセスしたい JSF コンポーネントを選択する。
  7. OK」をクリックする。
    EGL ソース・アシスタントが、 2 行の EGL コードを pageHandler に追加します。
    • コードの第 1 行では、選択した JSF コンポーネントに一致する型の EGL 変数が定義されます。上の例では、次のコードを使用して、HtmlInputText 型の変数が、 JSF 入力テキスト・フィールドにアクセスするように定義されます。
      myInputField HtmlInputText;
    • コードの第 2 行では、その変数が JSF コンポーネントに関連付けられます。 上の例では、次のコードによって、変数が、form1 という書式内にある text1 という JSF 入力テキスト・フィールドに関連付けられます。
      myInputField = myViewRoot.findComponent("form1:text1");
  8. 変数を使用して JSF コンポーネントを変更する。例えば、次のコードでは、 setStyle 関数を使用して、入力フィールドのテキストの色が赤色に変更されます。
    myInputField.setStyle("color : red");
    このコードが実行されると、 入力フィールドのスタイルが変更されます。この例では、 ブラウザーに表示される HTML コードは次のようになります。
    <input id="form1:text1" type="text" name="form1:text1" style="color : red" />
以下は、EGL コードで JSF コンポーネントにアクセスする場合の注意事項です。

JSF コンポーネントには、さまざまな変更を加えることができます。『関連タスク』にいくつかの例があるので、 参考にしてください。

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.