JavaServer Faces ユーザーズガイド
目次 前ページ次ページ

第4章 JavaServer Facesタグを利用した開発

JavaServer Faces上では、以下のタグが利用できます。
それぞれのタグの詳細はJavaServer Facesタグリファレンスを参照してください。

・基本タグ
タグ名説明
f:actionListner親UIコンポーネントのアクションリスナを登録する
f:valueChangeListner親UIコンポーネントのバリューチェンジリスナを登録する
f:attribute親UIコンポーネントに指定可能なアトリビュートを指定する
f:converter親UIコンポーネントにコンバータを登録する
f:convertDateTime親UIコンポーネントにDateTimeコンバータを登録する
f:convertNumber親UIコンポーネントにNumberコンバータを登録する
f:facetこのタグで囲んで特別な名前をつける(テーブルのヘッダ、フッタなど)
f:loadBundleリソースファイルからテキストを読み込む
f:paramパラメータを付加する
f:selectItemUISelectOneまたはUISelectManyコンポーネントから一つのアイテムを表示する
f:selectItemsUISelectOneまたはUISelectManyコンポーネントから複数のアイテムを表示する
f:subview他の JavaServer FacesタグをふくむJSPページを取り込む
f:validateDoubleRangeUIコンポーネントにDoubleRangeValidatorを登録する
f:validateLengthUIコンポーネントにLengthValidator を登録する
f:validateLongRangeUIコンポーネントにLongRangeValidatorを登録する
f:validatorUIコンポーネントにカスタムValidatorを登録する
f:verbatimこのタグの内容をとる UIOutputコンポーネントを生成する
f:viewページ内の全てのJavaServer Facesタグを囲む
・HTMLタグ
タグ名説明記述例表示
h:column h:dataTableと連携して表の1列分のデータを表示

h:dataTableと組み合わせて使用 (組合せ使用例を参照)
組合せ使用例を参照
h:commandButtonサーバにフォームのデータを送信するボタン

<h:commandButton value="送信" action="send"/>
ボタン (HTMLの<input>タグで、typeはsubmit, reset, imageのいずれか):

h:commandLinkサーバにフォームのデータを送信するハイパーリンク

<h:commandLink action="send">
  <h:outputText value="送信"/>
</h:commandLink>
ハイパーリンク (HTMLの<a href>タグ):

送信

h:dataTableデータの集合(配列など)に基づいて表を表示

h:columnと組み合わせて使用 (組合せ使用例を参照)
組合せ使用例を参照
h:formフォームを作成

<h:form>
  ...
</h:form>
フォーム (HTMLの<form>タグ)
h:graphicImageイメージを表示

<h:graphicImage
    id="picture" url="/images/my_picture.gif"/>
イメージ (HTMLの<img>タグ)
h:inputHidden非表示の送信データをフォームに作成

<h:inputHidden 
    id="hidden" value="#{myBean.hiddenPassword}"/>
表示されない (HTMLの<input type=hidden>タグ)
h:inputSecretパスワード用のテキストフィールド

<h:inputSecret value="#{myBean.secretPassword}"/>
パスワード用のテキストフィールド (HTMLの<input type=password>タグ):

h:inputTextテキストフィールド

<h:inputText value="#{myBean.inputText}"/>
テキストフィールド (HTMLの<input type=text>タグ):

h:inputTextarea複数行テキストフィールド

<h:inputTextarea value="#{myBean.inputTextarea}"/>
複数行テキストフィールド (HTMLの<textarea>タグ):

h:message特定のUIコンポーネントのメッセージを表示

<h:message for="someComponentId"/>
メッセージ
h:messagesすべてのUIコンポーネントのメッセージを表示

<h:messages/>
メッセージ
h:outputLabel入力フィールドを特定するためのラベルを表示

<h:outputLabel for="userId">
  <h:outputText id="userId" value="#{myBean.userid}"/>
</h:outputLabel>
ラベル (HTMLの<label>タグ)
h:outputLinkアクションイベントを生成しない他のページなどへのハイパーリンク

<h:outputLink value="http://someHost/">
  <h:outputText value="someHost"/>
</h:outputLink>
ハイパーリンク (HTMLの<a href>タグ):

someHost

h:outputFormatフォーマットにしたがってパラメタを挿入したテキストを作成して表示

<h:outputFormat value="Total is {0}">
  <f:param value="#{mybean.total}"/>
</h:outputFormat>
テキスト:

Total is 123

h:outputTextテキストを表示

<h:outputText value="Hello world!"/>
テキスト:

Hello world!

h:panelGridテーブルを表示

<h:panelGrid columns="2"  border="1">
  <f:facet name="header">
    <h:outputText value="table title"/>
  </f:facet>
  <h:outputText value="value1" />
  <h:outputText value="value2" />
</h:panelGrid>
table title
value1 value2
h:panelGroupUIコンポーネントをグループ化

h:panelGridと組み合わせて使用(組合せ使用例を参照)
組合せ使用例を参照
h:selectBooleanCheckbox単一のチェックボックス

<h:selectBooleanCheckbox 
    value="#{myBean.selectBooleanCheckbox}" />
チェックボックス (HTMLの<input type=checkbox>タグ):

h:selectManyCheckbox複数のチェックボックス

<h:selectManyCheckbox
    value="#{myBean.selectManyCheckbox1}">
  <f:selectItem itemLabel="選択1" itemValue="check1"/>
  <f:selectItem itemLabel="選択2" itemValue="check2"/>
</h:selectManyCheckbox>
複数のチェックボックス (HTMLの<input type=checkbox>タグ):
h:selectManyListbox選択肢を複数選択可能なリストボックス

<h:selectManyListbox value="#{myBean.selectManyListbox}">
  <f:selectItem itemLabel="List1" itemValue="List1"/>
  <f:selectItem itemLabel="List2" itemValue="List2"/>
</h:selectManyListbox>
リストボックス (HTMLの<select>タグ):

h:selectManyMenu選択肢を複数選択可能な高さ1のリストボックス

<h:selectManyMenu value="#{myBean.selectManyMenu}">
  <f:selectItems value="#{selectManyList}"/>
</h:selectManyMenu>
リストボックス (HTMLの<select>タグ):

h:selectOneListbox選択肢を1個選択するリストボックス

<h:selectOneListbox value="#{myBean.selectOneListbox}">
  <f:selectItems value="#{selectManyList}"/>
</h:selectOneListbox>
リストボックス (HTMLの<select>タグ):

h:selectOneMenu選択肢を1個選択するコンボボックス

<h:selectOneMenu value="#{myBean.selectOneMenu}">
  <f:selectItems value="#{selectManyList}"/>
</h:selectOneMenu>
コンボボックス (HTMLの<select>タグ):

h:selectOneRadio複数のラジオボタン

<h:selectOneRadio value="#{myBean.selectOneRadio}">
  <f:selectItems value="#{selectManyList}"/>
</h:selectOneRadio>
複数のラジオボタン (HTMLの<input type=radio>タグ):


[組み合わせ使用例]
組み合わせるタグ記述例表示
h:dataTable
h:column

<h:dataTable value="#{myBean.items}" var="item" border="1">
  <h:column>
    <f:facet name="header">
      <h:outputText value="name"/>
    </f:facet>
    <h:outputText value="#{item.name}" />
  </h:column>
  <h:column>
    <f:facet name="header">
      <h:outputText value="value"/>
    </f:facet>
    <h:outputText value="#{item.value}" />
  </h:column>
</h:dataTable>
name value
tableData1 memory1
tableData2 memory2
tableData3 memory3
h:panelGrid
h:panelGroup

<h:panelGrid columns="2" border="1">
  <f:facet name="header">
    <h:outputText value="table title"/>
  </f:facet>
  <h:outputText value="value1" />
  <h:outputText value="value2" />
  <h:panelGroup>
    <h:outputText value="value3" />
    <h:outputText value="(*)" />
  </h:panelGroup>
  <h:outputText value="value4" />
</h:panelGrid>
table title
value1 value2
value3(*) value4

目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2005