EGL を使用すると、
Web ブラウザーに表示される JSF コントロールの外観を動的に更新できます。
例えば、ユーザーがテキスト・ボックスで無効な情報を入力した場合、
そのテキスト・ボックスの色を変更することができます。
こうした変更は、Web アプリケーション・サーバー上で行われ、
JSP が使用できる情報に影響を及ぼし、JSP がブラウザーに Web ページを表示します。
EGL はページの「JSF コンポーネント・ツリー」を介して JSF コンポーネントにアクセスします。
「JSF コンポーネント・ツリー」は、
JSP ファイル内に指定された JSF コンポーネントを識別する XML 準拠の構造体です。
JSF コンポーネント・ツリーを使用する際、
アクセスしたい JSF コンポーネントに EGL 変数を関連付けます。
こうして、JSF コンポーネントそのものから実行できる、
スタイルおよびその他のプロパティーの変更などと同じ機能を、この EGL 変数から実行できます。
これらのコンポーネントのそれぞれで使用できる JSF コンポーネントと機能の完全なリストについては、
http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html にある
Java™ Server Faces の資料を参照してください。
一般に、以下のステップに従うことによって、Web ページ上の JSF コントロールにアクセスできます。
詳しい情報と完全な例については、
『
pageHandler からの JSF コンポーネントへのアクセス』を参照してください。
- JSF コンポーネント・インターフェース・サポートを使用して EGL Web プロジェクトを作成するか、
あるいは既存の EGL Web プロジェクトに JSF コンポーネント・インターフェース・サポートを追加する。
『EGL Web プロジェクトへの JSF コンポーネント・インターフェース・サポートの追加』を参照してください。
- Faces JSP ファイルを作成し、1 つ以上の JSF コンポーネントをそれに追加する。
- ページのページ・コード・ファイルに、次のコードを追加する。
JSF コンポーネント・インターフェースのサポートをプロジェクトに追加した後で Faces JSP ファイルを作成した場合、
このコードは自動的にページ・コード・ファイルに追加されます。
- 以下の import 文を追加する。
import com.ibm.egl.jsf.*
- ページの pageHandler 内で UIViewRoot 型の変数を作成する。
- UIViewRoot 変数の名前を pageHandler プロパティー viewRootVar の中に指定する。
- アクセスする JSF コントロール・タイプの変数を作成するか、
あるいはソース・アシスタントにそれを作成させる。
詳細については、
『ソース・アシスタントによる JSF コンポーネントへのアクセス』を参照してください。
例えば、HtmlInputText 型の変数は、ページ上で JSF 入力フィールドを参照します。
コード
myControl HtmlInputText;
は、
HtmlInputText 型の変数を作成します。
- UIViewRoot 変数を使用して、変数を JSF コンポーネントにリンクする。
例えば、次のコードは、HtmlInputText 型の変数を、
form1 という名前のフォームの中にある inputField1 という名前の JSF テキスト入力フィールドにリンクします。
myControl = myViewRoot.findComponent("form1:inputField1");
- 変数を使用して JSF コンポーネントを変更する。
例えば、コード
myControl.setStyle("color : red");
は、
入力フィールド内のテキストの色を赤に変更します。