クラス UIForm
- java.lang.ObjectSE
-
- jakarta.faces.component.UIComponent
-
- jakarta.faces.component.UIComponentBase
-
- jakarta.faces.component.UIForm
- 実装されたすべてのインターフェース:
NamingContainer
、PartialStateHolder
、StateHolder
、TransientStateHolder
、UniqueIdVendor
、ComponentSystemEventListener
、FacesListener
、SystemEventListenerHolder
、EventListenerSE
- 既知の直属サブクラス
HtmlForm
public class UIForm extends UIComponentBase implements NamingContainer, UniqueIdVendor
UIForm は、ユーザーに提示される入力フォームを表す
UIComponent
であり、その子コンポーネントは(とりわけ)フォームの送信時に含まれる入力フィールドを表します。デフォルトでは、
rendererType
プロパティを "jakarta.faces.Form
" に設定する必要があります。この値は、setRendererType()
メソッドを呼び出すことで変更できます。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
COMPONENT_FAMILY
このコンポーネントの標準コンポーネントファミリ。static StringSE
COMPONENT_TYPE
このコンポーネントの標準コンポーネント型。クラス jakarta.faces.component.UIComponent から継承されたフィールド
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
インターフェース jakarta.faces.component.NamingContainer から継承されたフィールド
SEPARATOR_CHAR
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 StringSE
createUniqueId(FacesContext context, StringSE seed)
コンポーネントの識別子を生成します。StringSE
getContainerClientId(FacesContext context)
UIComponent.getContainerClientId(jakarta.faces.context.FacesContext)
をオーバーライドして、このフォームのisPrependId()
プロパティの値に応じて、ユーザーがこのフォームを無効にして、clientId
をその子孫のclientIds
の前に付加できないようにします。StringSE
getFamily()
このコンポーネントが属するコンポーネントファミリの識別子を返します。boolean
invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback)
ビュー階層のこのコンポーネントから開始して、引数clientId
と等しいclientId
を持つコンポーネントを検索し、見つかった場合は、引数callback
でContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出し、現在のFacesContext
と見つかったコンポーネントを引数として渡します。boolean
isPrependId()
先頭に ID が付いています。boolean
isSubmitted()
submitted
プロパティの現在の値を返します。void
processDecodes(FacesContext context)
UIComponent.processDecodes(jakarta.faces.context.FacesContext)
をオーバーライドして、フォームがその子より先にデコードされるようにします。void
processUpdates(FacesContext context)
UIComponent.processUpdates(jakarta.faces.context.FacesContext)
をオーバーライドして、このUIForm
インスタンスの子がisSubmitted()
がtrue
を返す場合にのみ処理されるようにします。void
processValidators(FacesContext context)
UIComponent.processValidators(jakarta.faces.context.FacesContext)
をオーバーライドして、このUIForm
インスタンスの子がisSubmitted()
がtrue
を返す場合にのみ処理されるようにします。void
setPrependId(boolean prependId)
ID を先頭に追加するかどうかを設定します。void
setSubmitted(boolean submitted)
(ページ内の他の形ではなく) このUIForm
インスタンスがこのリクエスト処理ライフサイクル中に提出発生している場合、このメソッドは、このUIForm
インスタンスのUIComponent.decode(jakarta.faces.context.FacesContext)
時に、引数としてtrue
で、呼び出されなければなりません。boolean
visitTree(VisitContext context, VisitCallback callback)
ツリー内のこのノードからツリー訪問を実行します。クラス jakarta.faces.component.UIComponentBase から継承されたメソッド
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent
クラス jakarta.faces.component.UIComponent から継承されたメソッド
encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression
コンストラクターの詳細
UIForm
public UIForm()
デフォルトのプロパティ値で新しい
UIForm
インスタンスを作成します。
メソッドの詳細
getFamily
public StringSE getFamily()
クラスからコピーされた説明:UIComponent
このコンポーネントが属するコンポーネントファミリの識別子を返します。この識別子は、
rendererType
プロパティの値と組み合わせて、このコンポーネントインスタンスに適切なRenderer
を選択するために使用できます。このメソッドはnull
を返すべきではないことに注意してください- 次で指定:
- クラス
UIComponent
のgetFamily
- 戻り値:
- コンポーネントファミリ(null 以外)。
isSubmitted
public boolean isSubmitted()
submitted
プロパティの現在の値を返します。デフォルト値はfalse
です。詳細については、setSubmitted(boolean)
を参照してください。このプロパティは、
UIComponent.getTransientStateHelper()
を使用して一時的なプロパティとして保持する必要があります。- 戻り値:
- フォームが送信された場合は
true
、それ以外の場合はfalse
。
setSubmitted
public void setSubmitted(boolean submitted)
(ページ内の他の形ではなく) この
UIForm
インスタンスがこのリクエスト処理ライフサイクル中に提出発生している場合、このメソッドは、このUIForm
インスタンスのUIComponent.decode(jakarta.faces.context.FacesContext)
時に、引数としてtrue
で、呼び出されなければなりません。このUIForm
インスタンスで送信が発生していない場合は、このUIForm
インスタンスのUIComponent.decode(jakarta.faces.context.FacesContext)
中に、false
を引数としてこのメソッドを呼び出す必要があります。UIForm
の送信されたプロパティの値は、その状態の一部として保存してはなりません。このプロパティは、
UIComponent.getTransientStateHelper()
を使用して一時的なプロパティとして保持する必要があります。- パラメーター:
submitted
- 送信されたフラグの新しい値。
isPrependId
public boolean isPrependId()
先頭に ID が付いています。- 戻り値:
- ある場合は
true
、それ以外の場合はfalse
。
setPrependId
public void setPrependId(boolean prependId)
ID を先頭に追加するかどうかを設定します。- パラメーター:
prependId
- ある場合はtrue
、そうでない場合はfalse
。
processDecodes
public void processDecodes(FacesContext context)
UIComponent.processDecodes(jakarta.faces.context.FacesContext)
をオーバーライドして、フォームがその子より先にデコードされるようにします。これは、submitted
プロパティを正しく設定するために必要です。- オーバーライド:
- クラス
UIComponentBase
のprocessDecodes
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
processValidators
public void processValidators(FacesContext context)
UIComponent.processValidators(jakarta.faces.context.FacesContext)
をオーバーライドして、このUIForm
インスタンスの子がisSubmitted()
がtrue
を返す場合にのみ処理されるようにします。- オーバーライド:
- クラス
UIComponentBase
のprocessValidators
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合- 関連事項:
PreValidateEvent
,PostValidateEvent
processUpdates
public void processUpdates(FacesContext context)
UIComponent.processUpdates(jakarta.faces.context.FacesContext)
をオーバーライドして、このUIForm
インスタンスの子がisSubmitted()
がtrue
を返す場合にのみ処理されるようにします。- オーバーライド:
- クラス
UIComponentBase
のprocessUpdates
- パラメーター:
context
-FacesContext
(処理中のリクエスト)- 例外:
NullPointerExceptionSE
-context
がnull
の場合
createUniqueId
public StringSE createUniqueId(FacesContext context, StringSE seed)
コンポーネントの識別子を生成します。識別子の前には UNIQUE_ID_PREFIX が付けられ、このコンポーネントコンテナー内で一意になります。オプションで、生成された一意の ID に含める必要のある一意のシード値をコンポーネントの作成者が提供できます。
prependId
プロパティの値がfalse
の場合、このメソッドは次の祖先UniqueIdVendor
でcreateUniqueId
を呼び出す必要があります。- 次で指定:
- インターフェース
UniqueIdVendor
のcreateUniqueId
- パラメーター:
context
- FacesContextseed
- オプションのシード値 - 例 VDL テンプレート内のコンポーネントの位置に基づく- 戻り値:
- このコンポーネントコンテナーの一意の ID
getContainerClientId
public StringSE getContainerClientId(FacesContext context)
UIComponent.getContainerClientId(jakarta.faces.context.FacesContext)
をオーバーライドして、このフォームのisPrependId()
プロパティの値に応じて、ユーザーがこのフォームを無効にして、clientId
をその子孫のclientIds
の前に付加できないようにします。- オーバーライド:
- クラス
UIComponent
のgetContainerClientId
- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- コンテナーのクライアント ID。
visitTree
public boolean visitTree(VisitContext context, VisitCallback callback)
クラスからコピーされた説明:UIComponent
ツリー内のこのノードからツリー訪問を実行します。
UIComponent.visitTree() の実装は
VisitCallback
を直接呼び出さず、代わりにVisitContext.invokeVisitCallback(jakarta.faces.component.UIComponent, jakarta.faces.component.visit.VisitCallback)
を呼び出してコールバックを呼び出します。これにより、VisitContext
実装は、たとえばコンポーネントのサブセットに対してVisitCallback
を呼び出すだけで、最適化されたツリートラバーサルを提供できます。UIComponent.visitTree() 実装は、訪問を実行する前に UIComponent.pushComponentToEL() を呼び出し、訪問後に UIComponent.popComponentFromEL() を呼び出す必要があります。
- オーバーライド:
- クラス
UIComponent
のvisitTree
- パラメーター:
context
- この訪問のVisitContext
callback
- 訪問したノードごとにvisit
メソッドが呼び出されるVisitCallback
インスタンス- 戻り値:
- コンポーネントの実装は、
true
を返し、ツリーの訪問が完了したことを示す場合があります(訪問する必要のあるすべてのコンポーネントが訪問されたなど)。これにより、ツリーへのアクセスが短絡され、アクセスされるコンポーネントがなくなります。 - 関連事項:
UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback)
invokeOnComponent
public boolean invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) throws FacesException
クラスからコピーされた説明:UIComponentBase
ビュー階層のこのコンポーネントから開始して、引数
clientId
と等しいclientId
を持つコンポーネントを検索し、見つかった場合は、引数callback
でContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出し、現在のFacesContext
と見つかったコンポーネントを引数として渡します。このメソッドはUIComponent.findComponent(java.lang.String)
に似ていますが、ビューのルートから検索するための主要なUINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)
構文をサポートしていません。デフォルトの実装では、最初に
this.getClientId()
が引数clientId
と等しいかどうかをチェックします。その場合は、最初にUIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出し、次に引数コールバックでContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出して、FacesContext
引数を渡し、これをコンポーネント引数として渡します。次にUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。コールバックによってException
がスローされた場合は、FacesException
でラップして、再度スローします。それ以外の場合は、true
を返します。それ以外の場合は、
UIComponent.getFacetsAndChildren()
によって返される各コンポーネントについて、このメソッドに引数を順番に渡してinvokeOnComponent()
を呼び出します。invokeOnComponent()
が初めて true を返したときは、残りのIterator
のトラバースを中止し、true
を返します。ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出す場合、このメソッドの実装は、コールバックに渡されたコンポーネントの状態が、引数clientId
で見つかった状態に関するビュー階層内のコンポーネントの位置を正しく反映することを保証する必要があります。例:UIData
などの反復コンポーネントは、正しい行に基づく適切な子コンポーネントを見つける前に、引数clientId
を正しく反映するように行インデックスを設定する必要があります。コールバックが戻るとき、通常またはException
をスローすることにより、このメソッドの実装は、ビューの状態をコールバックを呼び出す前の状態に復元する必要があります。UIComponent.getFacetsAndChildren()
のどの要素もinvokeOnComponent()
からtrue
を返さなかった場合は、false
を返します。clientId
でコンポーネントを検索する簡単な使用例。private UIComponent found = null; private void doFind(FacesContext context, String clientId) { context.getViewRoot().invokeOnComponent(context, clientId, new ContextCallback() { public void invokeContextCallback(FacesContext context, UIComponent component) { found = component; } }); }
- オーバーライド:
- クラス
UIComponentBase
のinvokeOnComponent
- パラメーター:
context
- 現在のリクエストのFacesContext
clientId
- 引数コールバックに渡されるコンポーネントのクライアント識別子。callback
- Callback インターフェースの実装。- 戻り値:
true
指定されたclientId
を持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定されたclientId
のコンポーネントが見つからない場合、false
を返します。- 例外:
FacesException
- 引数 Callback が例外をスローすると、FacesException
にラップされて再スローされます。- 関連事項:
UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)