ADF Facesでは、ADF Faces Coreライブラリに次の2つのメッセージ・タグが用意されています。
af:message
: 1つのコンポーネントのためのヒントおよびメッセージを表示する際に使用します。
af:messages
: アプリケーション・ページの最上部にエラー・メッセージまたは情報テキストを表示する際に使用します。
通常、ADF Faces入力コンポーネントに関連付けられているエラー・メッセージを表示するために、コンポーネントでaf:message
タグを使用する必要はありません。これは、ADF Faces入力コンポーネントでは、デフォルトで固有メッセージの自動表示がサポートされているためです。たとえば、変換または検証エラーが発生すると、ADF Facesでは、アラート、またはコンポーネントの近くにエラー・アイコンとインライン・エラー・メッセージが自動的に表示されます。ただし、別のコンポーネントのためのメッセージを表示するにはaf:message
を使用します。次に例を示します。
simple
属性がtrue
(ADF Faces入力コンポーネントでの自動メッセージおよびラベル・サポートが無効)に設定されている場合
次のコード・スニペットについて考えてみます。
1. simple
がtrue
に設定されているADF Faces入力コンポーネント
<af:panelGroup layout="horizontal">
<af:panelHorizontal>
<af:outputLabel for="input1" value="Lucky number is: " showRequired="true"/>
<af:inputText required="true" id="input1" value="424" simple="true">
<af:validateRegExp pattern="[1-9][2][0-9]"/>
<f:validateLongRange maximum="920" minimum="220"/>
</af:inputText>
<f:facet name="separator">
<af:objectSpacer width="10" height="10"/>
</f:facet>
</af:panelHorizontal>
<af:commandButton text="Submit"/>
<f:facet name="separator">
<af:objectSpacer width="10" height="10"/>
</f:facet>
</af:panelGroup>
<af:message for="input1" tip="Enter a 3-digit number"/>
このコードでは、無効な値が入力されるかまたは値が入力されないと、クライアント側の検証および変換が使用不可にされている場合は、ADF Facesによってコンポーネント・ラベルの横にエラー・アイコンが表示され、ヒントの下にデフォルトの詳細エラー・メッセージが表示されます。
ただし、デフォルトではクライアント側の検証および変換は使用可能です。この場合、無効な値が入力されるかまたは値が入力されないと、ADF Facesによってアラート・ボックスにデフォルトの詳細エラー・メッセージが表示されますが、メッセージの前にコンポーネント・ラベルは表示されません。エラー・メッセージの前にコンポーネント・ラベルを表示するには、(af:outputLabel
とaf:message
を使用するかわりに)、シンプル入力コンポーネントをpanelLabelAndMessage
にラップする必要があります。後述の注意を参照してください。
インライン・エラー・メッセージおよびアラート・ボックスの図は、「ADF Facesのメッセージについて」を参照してください。
2. JSF入力コンポーネント
<af:html>
<af:body>
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="Enter a number: " for="input1"/>
<h:inputText required="true" id="input1" value="424">
<af:validateRegExp pattern="[1-9][2][0-9]"/>
<f:validateLongRange maximum="920" minimum="220"/>
</h:inputText>
<h:commandButton value="Submit"/>
</h:panelGrid>
<af:message for="input1" tip="Enter your 3-digit code."/>
</h:form>
</af:body>
</af:html>
入力値が無効な場合、デフォルトのエラー・メッセージがヒント・テキストの下に表示されます。コンポーネント・ラベルの横にエラー・アイコンを表示する場合は、h:outputLabel
のかわりにaf:outputLabel
を使用します。
af:message
タグをシンプルADF Faces入力コンポーネントまたはADF Faces以外の入力コンポーネントで使用している場合は、次に示すaf:message
属性を指定する必要があります。
for
: メッセージの対象の入力コンポーネントのID。必ず指定する必要があります。
tip
: 推奨。入力する必要がある入力のタイプをユーザーに明確に通知するヒント・テキスト。たとえば、"Enter your 3-digit code "または"Enter a date between 01-01-2005 and 12-31-2005"などです。ユーザー入力エラーが発生した場合は、デフォルト・エラー・メッセージとヒントの組合せで、ユーザーが処理を続行する方法を理解するための十分な情報を提供する必要があります。
ADF Facesのaf:messages
コンポーネントを使用すると、アプリケーション・ページの最上部のボックス内にメッセージ情報を表示できます。デフォルトでは、af:messages
のglobalOnly
属性はfalse
に設定されています。これは、ADF Facesによって、現在のFacesContext
で収集されたFacesMessage
インスタンスから集められたすべてのメッセージが自動的に表示されることを意味します。
通常、af:messages
は、af:page
またはaf:panelPage
コンポーネントのmessages
ファセットで使用します。
<af:panelPage>
<f:facet name="messages">
<af:messages message="The main message to display"
text="The text that replaces the default title." />
</f:facet>
</af:panelPage>
次の図に示すように、収集されたメッセージは、デフォルトのタイトルとアイコンを含んだメッセージ・ボックスに表示されます。メッセージ・ボックスのタイトルの下には、ページに対して収集されたメッセージの番号付きリストが表示されます。各コンポーネントのメッセージはコンポーネント・ラベルで始まり、このラベルはメッセージを生成したコンポーネントにリンクされています。コンポーネント・ラベルの後に、要約メッセージが表示されます。
次のaf:messages
属性を指定できます。
message
: メッセージ・ボックスのタイトルの下、および個々のメッセージのリストの上に表示されるメイン・メッセージ・テキスト。
text
: メッセージ・ボックスのタイトルをオーバーライドするテキスト。
globalOnly
: デフォルトで、ADF Facesではグローバル・メッセージ(コンポーネントに関連付けられていないメッセージ)が表示され、その後に個々のコンポーネント・メッセージが表示されます。グローバル・メッセージのみを表示する場合は、この属性をtrue
に設定します。
注意:シンプルADF Faces入力コンポーネントと同じページでaf:messages
を使用している場合は、エラー・メッセージをメッセージ・ボックスに正しく表示するために、シンプル入力コンポーネントをpanelLabelAndMessage
にラップしてください。次に例を示します。
<af:panelLabelAndMessage label="Label for the simple input component"
tip="Tip text here"
showRequired="true"
for="simple2">
<af:inputText simple="true"
required="true"
id="simple2"
value="424"
label="Label for the simple input component">
<af:validateRegExp pattern="[1-9][2][0-9]"/>
<f:validateLongRange maximum="920" minimum="220"/>
</af:inputText>
</af:panelLabelAndMessage>
シンプル入力コンポーネントでのラベル属性とメッセージ属性はADF Facesでは無視されますが、このバージョンのADF Facesでは、コンポーネントで生成されたエラー・メッセージを正しく表示するために、シンプル・コンポーネントにlabel
属性を設定する必要があります。
ADF Facesの変換および検証エラーについて
ADF Faces入力コンポーネントでのラベルおよびメッセージ表示のサポートについて
ADF Facesのエラー・メッセージのカスタマイズについて
ADF Facesでの1つのエラー・メッセージの表示
ADF Facesでの全要約メッセージの表示
ADF Facesシンプル入力コンポーネントのラベルおよびメッセージの表示
Copyright © 1997, 2007, Oracle. All rights reserved.