faces-config.xmlは、JSFアプリケーションで必要なManeged Beanや画面遷移を定義するファイルである。faces-config.xmlはWEB-INFO直下に置く。
イベントリスナ | 説明 |
---|---|
ActionListener | ボタンがクリックされたときに、そのイベント通知を受けるリスナ。 |
PhaseListener | JSFライフサイクルのフェーズが変更したときに、そのイベント通知を受けるリスナ。 |
JSF HTMLタグは、HTMLのUI部品を出力するためのタグである。
JSPでHTMLタグを使用するためには、taglibディレクティブを宣言する。
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
JSF HTMLタグ | 説明 |
---|---|
<h:form> | HTMLの<form>タグを生成する。 |
<h:outputText> | <span> |
<h:outputLink> | <a> |
<h:outputLabel> | <label> |
<h:outputFormat> | |
<h:inputText> | <input type="text"> |
<h:inputSecret> | <input type="password"> |
<h:inputTextarea> | <textarea> |
<h:inputHidden> | <input type="hidden"> |
<h:selectBooleanCheckbox> | <input type="checkbox"> |
<h:selectManyCheckbox> | <input type="checkbox"> |
<h:selectManyListbox> | <select> |
<h:selectManyMenu> | <select> |
<h:selectOneListbox> | <select> |
<h:selectOneMenu> | <select> |
<h:selectOneRadio> | ラジオボタンのHTMLタグ(<input type="radio">)を出力する。 |
<h:commandButton> | <input type="submit"> |
<h:commandLink> | <a> |
<h:dataTable> | <table> |
<h:column> | <td> |
<h:graphicImage> | <img> |
<h:message> | ひとつのメッセージをレンダリングする。 |
<h:messages> | すべてのメッセージをレンダリングする。 |
<h:panelGrid> | HTML 4.01仕様の<table>タグをレンダリングする。 |
<h:panelGroup> | |
<f:actionListener> | 最も近い親のUIComponentカスタムアクションに関連付けられたUIComponentのActionListenerのインスタンスを登録する。 |
<f:valueChangeListener> | 最も近い親のUIComponentカスタムアクションに関連付けられているUIComponetでValueChangeListenerのインスタンスを登録する。 |
<f:attribute> | 最も近い親のUIComponentカスタムアクションに関連付けられたUIComponentに属性を追加する。 |
<f:param> | 最も近い親のUIComponentカスタムアクションに関連付けられたUIComponentに子UIParameterコンポーネントを追加する。 |
<f:facet> | 最も近い親のUIComponentカスタムアクションに関連付けられたUIComponentに名前付きファセットを登録する。 |
<h:inputText>は、テキスト入力フィールド(<input type="text">)を出力するJSFタグである。
<h:inputText>タグには次の属性を指定できる。
<h:form>
<h:inputText value="#{bean.property}" />
</h:form>
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | コンポーネントの入力値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
redisplay | コンポーネントに既に設定されているテキストがある場合、JSPページ再表示の際にそれを出力するか動画を指定する。
|
size | コンポーネントの大きさ(文字数) |
maxlength | コンポーネントに入力可能な文字数 |
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | コンポーネントの入力値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
redisplay | コンポーネントに既に設定されているテキストがある場合、JSPページ再表示の際にそれを出力するか動画を指定する。
|
cols | コンポーネントの1行の長さ(文字数) |
row | コンポーネントの行数(文字数) |
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | コンポーネントの入力値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | 選択項目の値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
<h:selectManyCheckbox>タグのボディ内部に記述可能な子要素は、次のとおり。
<h:selectManyListbox>タグのボディ内部に記述可能な子要素は、次のとおり。
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | 選択項目の値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
size | 表示する選択項目の数を指定する。省略した場合は、すべての選択項目を表示する。 |
<h:selectManyMenu>タグのボディ内部に記述可能な子要素は、次のとおり。
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | 選択項目の値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
<h:selectOneListbox>タグのボディ内部に記述可能な子要素は、次のとおり。
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | 選択項目の値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
size | 表示する選択項目の数を指定する。省略した場合は、すべての選択項目を表示する。 |
<h:selectOneMenu>タグのボディ内部に記述可能な子要素は、次のとおり。
属性名 | 説明 |
---|---|
id | コンポーネントのID |
value | 選択項目の値 |
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
rendered | コンポーネントを出力するか否か |
disabled | コンポーネントが有効か否か |
readonly | コンポーネントが読み取り専用か否か |
converter | コンポーネントに適用するコンバータ |
converterMessage | コンポーネントに適用されたコンバータによる、型変換エラーのメッセージ |
required | コンポーネントが入力必須か否かを指定する。trueを指定すると、必須バリデータによる検証が行われる。
|
requiredMessage | コンポーネントの必須バリデータによる、検証エラーのメッセージ |
validator | コンポーネントに適用するバリデータメソッド |
validatorMessage | コンポーネントに適用されたバリデータによる、検証エラーのメッセージ |
valueChangeListener | コンポーネントに適用するバリューチェンジリスナーメソッド |
imediate | コンポーネントのバリューチェンジイベントを「入力値の適用フェーズ」で適用するか否か |
JSF HTMLタグの<h:selectOneRadio>は、ラジオボタンのHTMLタグ(<input type="radio">)を出力する。
<h:selectOneRadio>タグのボディ内部に記述可能な子要素は、次のとおり。
JSFコアタグとは、UI部品以外を表すタグである。
JSPでコアタグを使用するためには、taglibディレクティブを宣言する。
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
JSFコアタグ | 説明 |
---|---|
<f:view> | |
<f:subview> | |
<f:actionListener> | |
<f:valueChangeListener> | |
<f:convertDateTime> | 日付コンバータ |
<f:convertNumber> | 数値コンバータ |
<f:converter> | 汎用コンバータ |
<f:validateLength> | 文字列長バリデータ |
<f:validateLongRange> | 範囲バリデータ(整数) |
<f:validateDoubleRange> | 範囲バリデータ(浮動小数点数) |
<f:validator> | |
<f:selectItem> | 選択肢 |
<f:selectItems> | 選択肢 |
<f:attribute> | |
<f:param> | |
<f:facet> | |
<f:verbatim> | |
<f:loadBundle> |
コンバータとは、Webブラウザの入力値及び出力値と、WebアプリケーションのJavaデータ型を相互に変換する機能である。コンバータには組込みコンバートとカスタムコンバータの2種類がある。
JSFコアタグの<f:convertDateTime>を使うと、日付の書式を変換することができる。
属性名 | 説明 |
---|---|
pattern | 日付と時刻の入出力フォーマット |
type | 日付と時刻の種類
|
dateStyle | 日付の詳細度 |
timeStyle | 時刻の詳細度 |
locale | 日付と時刻のロケール |
timeZone | 日付と時刻のタイムゾーン |
<h:inputText id="birthday" value="#{studentInput.birthday}">
<f:convertDateTime pattern="yyyy/MM/dd">
</h:inputText>
JSFコアタグの<f:convertNumber>を使うと、数値の書式を変換することができる。
属性名 | 説明 |
---|---|
pattern | 数値の入出力フォーマット |
type | 数値の種類
|
groupingUsed | カンマ区切りの有無
|
integerOnly | 数値型を変換する際に整数部分のみを対象とするか否か |
minIntegerDigits | 整数部分の最少桁数 |
maxIntegerDigits | 整数部分の最大桁数 |
minFractionDigits | 小数部分の最少桁数 |
maxFractionDigits | 小数部分の最大桁数 |
locale | 数値の出力ロケール |
currencyCode | 通貨コード |
currencySimbol | 通貨のシンボル |
<h:outputText value="#{account.balance}">
<f:convertNumber groupingUsed="true">
</h:outputText>
属性名 | 説明 |
---|---|
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
id | コンポーネントのID |
itemValue | 選択肢項目の値(サーバに送信する値) |
itemLabel | 項目に表示するテキストを指定する。省略時は、itemValue属性に指定した値が適用される。 |
itemDisabled | 選択肢項目が無効か否か
|
itemDescription | 選択肢項目の説明 |
属性名 | 説明 |
---|---|
binding | コンポーネントにバインディングされるマネージドBeanのフィールド |
id | コンポーネントのID |
value | SelectItemオブジェクトの配列又はコレクション |
バリデータとは、Webアプリケーションの入力値を検証する機能である。バリデータには組込みバリデータとカスタムバリデータの2種類がある。
入力コンポーネントのrequired属性にtrueを指定すると、コンポーネントの入力値が無い場合に検証エラーとなる。
<h:inputText id="studentName" value="#{studentInput.studentName}" required="true">
</h:inputText>
JSFコアタグの<f:validateLength>を使うと、文字列の長さを検証することができる。
属性名 | 説明 |
---|---|
maximum | 許容する最大の長さ |
minimum | 許容する最小の長さ |
<h:inputText id="accountPassword" value="#{accountInput.accountPassword}">
<f:validateLength maximum="16" />
</h:inputText>
JSFコアタグの<f:validateLongRange>又は<f:validateDoubleRange>を使うと、最大値や最小値を検証することができる。
属性名 | 説明 |
---|---|
maximum | 許容する最大値 |
minimum | 許容する最小値 |
<h:inputText id="studentAge" value="#{studentInput.studentAge}">
<f:convertNumber type="number" />
<f:validateLongRange minimum="10" maximum="15" />
</h:inputText>