JavaServer Faces ユーザーズガイド |
目次 |
第3章 JavaServer Facesアプリケーションの開発 |
JavaServer FacesのUIコンポーネントをJSPページで使用するためには、 JavaServer FacesコンポーネントタグライブラリとJavaServer Faces基本タグライブラリを使用します。 コンポーネントタグは、ユーザインタフェースのコンポーネントのタグです。基本タグは、アプリケーションや画面の構成および動作を指定します。 これらのタグライブラリは、一般的なカスタムタグライブラリと同じように使用することができます。
これらのタグを使用するためには、以下のように入出力ページの最初で宣言する必要があります。
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
uri
アトリビュートはタグライブラリを一意に識別します。prefix
アトリビュートはタグが属しているタグライブラリを区別します。
ここでは、コンポーネントタグは h:
、基本タグは f:
を先頭に付加するように指定しています。
JavaServer Facesのタグは、UIコンポーネントのツリーを表現しています。ツリーのルートはUIViewRoot
コンポーネントであり、f:view
タグによって表されます。
<f:view>
他の JavaServer Facesタグ
</f:view>
HTMLタグやJSPタグをf:view
タグの外に書いてもかまいませんが、JavaServer Facesのタグはf:view
タグで囲まれた中に記述して下さい。
また、1画面に対応するf:viewは1つのみとしてください。
JavaServer Facesが標準で提供しているタグの一覧とそのタグによる表示は「JavaServer Facesタグを利用した開発」を参照して下さい。
UIコンポーネントタグでは、バリューバインディング式やメソッドバインディング式を用いてUIコンポーネントにBeanのプロパティを割り当てたり、イベント処理、バリデータ、コンバータを指定することができます。以下に例を示します (なお、以下の記述例では説明のために <!-- -->
でコメントをつけていますが、実際にはタグの<
と>
の間にはコメントを記述できません)。
<f:view> <h:form> <h:inputText <!-- h:inputText の値を myBean の massageプロパティに割り当てます --> value="#{myBean.message}" <!-- 値が変更された場合に、myBean の messageChanged メソッドを呼び出します --> valueChangeListener="#{myBean.messageChanged}" > <!-- バリデータで最大文字数を指定します --> <f:validateLength maximum="10"/> </h:inputText> <h:commandButton <!-- 送信ボタンが押された場合に myBean の getIdForNextPage メソッドを呼び出します。この復帰値で遷移画面を切り替えます --> action="#{myBean.getIdForNextPage}" value="送信" <!-- 送信ボタンが押された場合に myBean の pushedメソッドを呼び出します --> actionListener="#{myBean.pushed}" /> </h:form> </f:view>
以下の処理定義の作成方法については、それぞれの項を参照して下さい。
目次 |