クラス ViewHandler
- java.lang.ObjectSE
-
- jakarta.faces.application.ViewHandler
- 既知の直属サブクラス
ViewHandlerWrapper
public abstract class ViewHandler extends ObjectSE
ViewHandler は、Jakarta Faces Specification を使用する実装またはアプリケーションが、リクエスト処理ライフサイクルの Render Response フェーズと Restore View フェーズでアクティビティの独自の処理を提供できるようにするプラグガビリティメカニズムです。これにより、実装がさまざまなレスポンス生成テクノロジをサポートできるようになり、各ビューの状態を保存および復元するための代替戦略もサポートされます。このクラスの実装はスレッドセーフである必要があります。
ViewHandler
がStateManager
とどのように相互作用するかについては、StateManager
を参照してください。仕様のバージョン 2 では、View DeclarationLanguage の概念が正式に導入されました。ビュー宣言言語(VDL)は、Jakarta Faces
UIComponent
のインスタンスで構成されるユーザーインターフェースを宣言するために使用される構文です。特に VDL サブシステムを処理するViewHandler
の責任はすべて、VDL 実装のドメインになりました。これらの責任はViewDeclarationLanguage
クラスで定義されています。ViewHandler
は、viewId
が与えられた場合に VDL 実装にアクセスするための便利なメソッドとしてgetViewDeclarationLanguage(jakarta.faces.context.FacesContext, java.lang.String)
を提供します。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
CHARACTER_ENCODING_KEY
セッションの属性セット内のキーで、そにレスポンス文字エンコードを格納および取得できます。static StringSE
DEFAULT_FACELETS_SUFFIX
Web アプリが URL 拡張マッピングを使用している場合に Facelet ベースの XHTML ページのデフォルト拡張に使用する値。static StringSE
DEFAULT_SUFFIX
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにDEFAULT_FACELETS_SUFFIX
を使用してください。static StringSE
DEFAULT_SUFFIX_PARAM_NAME
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにFACELETS_SUFFIX_PARAM_NAME
を使用してください。static StringSE
FACELETS_BUFFER_SIZE_PARAM_NAME
ResponseWriter が生成されたときにレスポンスに設定するバッファーサイズ。static StringSE
FACELETS_DECORATORS_PARAM_NAME
引数のないコンストラクターを含む、jakarta.faces.view.facelets.TagDecorator 型のクラス名のセミコロン (;) 区切りのリスト。static StringSE
FACELETS_LIBRARIES_PARAM_NAME
このパラメーターが設定されている場合、ランタイムは、"/" (引用符なし)で始まるセミコロン(;)で区切られたパスのリストとして解釈する必要があります。static StringSE
FACELETS_REFRESH_PERIOD_PARAM_NAME
ページがリクエストされたときに、コンパイラーが変更をチェックする間隔(秒単位)。static StringSE
FACELETS_SKIP_COMMENTS_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、ランタイムは、Facelets ソースページの XML コメントがクライアントに配信されないようにする必要があります。static StringSE
FACELETS_SUFFIX_PARAM_NAME
Web アプリケーションが Jakarta Faces コンテンツを含む Facelet ベースの XHTML ページの代替接尾辞のリストを定義できるようにします。static StringSE
FACELETS_VIEW_MAPPINGS_PARAM_NAME
Web アプリケーションで、セミコロン(;)で区切られた文字列のリストを定義できるようにします。これは、アプリケーション内の特定のページが、拡張子に関係なく、Facelets を使用していると解釈する必要があることを強制的に宣言するために使用されます。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 ViewHandler()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 void
addProtectedView(StringSE urlPattern)
このアプリケーションの保護されたビューのスレッドセーフSet
に引数urlPattern
を追加します。StringSE
calculateCharacterEncoding(FacesContext context)
このリクエストに使用される正しい文字エンコーディングを返します。abstract LocaleSE
calculateLocale(FacesContext context)
現在のクライアントに対するこのリクエストと後続のリクエストに使用する適切なLocale
SE を返します。abstract StringSE
calculateRenderKitId(FacesContext context)
現在のクライアントからのこのリクエストおよび後続のリクエストに対して適切なrenderKitId
を返します。abstract UIViewRoot
createView(FacesContext context, StringSE viewId)
StringSE
deriveLogicalViewId(FacesContext context, StringSE requestViewId)
Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。StringSE
deriveViewId(FacesContext context, StringSE requestViewId)
Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。abstract StringSE
getActionURL(FacesContext context, StringSE viewId)
このメソッドから返された値がjava.net.URL
ための 4 つの引数のコンストラクターへfile
引数として使用される場合、クライアントはURL
引数を選択することのtoExternalForm()
にリクエストを行う、(適切な値は、最初の 3 つの引数に使用されると仮定します) Jakarta Faces ライフサイクルをトラバースするためのviewId
。StringSE
getBookmarkableURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)
Jakarta Faces レスポンスのリンクのターゲットとして使用するのに適した、viewId 引数から派生した Jakarta Faces アクション URL を返します。SetSE<StringSE>
getProtectedViewsUnmodifiable()
このViewHandler
インスタンスに現在認識されている保護されたビューの変更不可能なSet
を返します。StringSE
getRedirectURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)
NavigationHandler
が NonFaces リクエストを使用して URL にリダイレクトリクエストを発行するために使用するのに適した、viewId
引数から派生した Jakarta Faces アクション URL を返します。abstract StringSE
getResourceURL(FacesContext context, StringSE path)
このメソッドから返された値が、java.net.URL
の 4 つの引数を持つコンストラクターのfile
引数として使用される場合(最初の 3 つの引数に適切な値が使用されていると想定)、そのURL
のtoExternalForm()
にリクエストを行うクライアントは、引数を選択します。直接レンダリング用のpath
。ViewDeclarationLanguage
getViewDeclarationLanguage(FacesContext context, StringSE viewId)
StreamSE<StringSE>
getViews(FacesContext facesContext, StringSE path, int maxDepth, ViewVisitOption... options)
指定された初期パスをルートとするすべてのアクティブなViewDeclarationLanguage
のビューツリーをウォークすることにより、レイジーに配置されたStream
を返します。StreamSE<StringSE>
getViews(FacesContext facesContext, StringSE path, ViewVisitOption... options)
指定された初期パスをルートとするすべてのアクティブなViewDeclarationLanguage
のビューツリーをウォークすることにより、レイジーに配置されたStream
を返します。abstract StringSE
getWebsocketURL(FacesContext context, StringSE channel)
このメソッドから返された値が、java.net.URL
の 4 つの引数を持つコンストラクターのfile
引数として使用される場合(最初の 3 つの引数に適切な値が使用されると想定)、そのURL
のtoExternalForm()
へのプッシュハンドシェイクリクエストを行うクライアントは、現在のビューで WebSocket プッシュチャネルを接続するための引数channel
void
initView(FacesContext context)
リクエスト処理ライフサイクルのビューを初期化します。boolean
removeProtectedView(StringSE urlPattern)
Set
に存在する場合は、このアプリケーションの保護されたビューのスレッドセーフSet
から引数urlPattern
を削除します。abstract void
renderView(FacesContext context, UIViewRoot viewToRender)
現在のFacesContext
に関連付けられているレスポンスオブジェクトにレスポンスビューをレンダリングするために必要なアクションを実行します。abstract UIViewRoot
restoreView(FacesContext context, StringSE viewId)
abstract void
writeState(FacesContext context)
現在の状態情報をすぐに書き出す(StateManager.writeState(jakarta.faces.context.FacesContext, java.lang.Object)
を呼び出すか、後で状態情報をどこに書き込むかを記録する)ために、適切なアクションを実行します。
フィールドの詳細
CHARACTER_ENCODING_KEY
public static final StringSE CHARACTER_ENCODING_KEY
セッションの属性セット内のキーで、そにレスポンス文字エンコードを格納および取得できます。
- 関連事項:
- 定数フィールド値
DEFAULT_SUFFIX_PARAM_NAME
@DeprecatedSE(since="4.0", forRemoval=true) public static final StringSE DEFAULT_SUFFIX_PARAM_NAME
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにFACELETS_SUFFIX_PARAM_NAME
を使用してください。これは、Jakarta Pages のサポートが削除されたため、使用されなくなりました。
- 関連事項:
- 定数フィールド値
DEFAULT_SUFFIX
@DeprecatedSE(since="4.0", forRemoval=true) public static final StringSE DEFAULT_SUFFIX
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにDEFAULT_FACELETS_SUFFIX
を使用してください。これは、Jakarta Pages のサポートが削除されたため、使用されなくなりました。
- 関連事項:
- 定数フィールド値
FACELETS_SKIP_COMMENTS_PARAM_NAME
public static final StringSE FACELETS_SKIP_COMMENTS_PARAM_NAME
このパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、ランタイムは、Facelets ソースページの XML コメントがクライアントに配信されないようにする必要があります。ランタイムは、ファセットも考慮する必要があります。既存の facelets タグライブラリとの下位互換性のために、このパラメーター名のエイリアスとしての SKIP_COMMENTS パラメーター名。
- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_SUFFIX_PARAM_NAME
public static final StringSE FACELETS_SUFFIX_PARAM_NAME
Web アプリケーションが、Jakarta Faces コンテンツを含む Facelet ベースの XHTML ページの代替サフィックスのリストを定義できるようにします。このリストは、
.<extension>
形式のスペース区切りの値のリストです。構成された拡張機能のいずれかに一致する拡張機能を持つ最初の物理リソースは、ビュー ID の作成に使用されるサフィックスになります。この init パラメーターが指定されていない場合、デフォルト値は定数DEFAULT_FACELETS_SUFFIX
の値から取得されます。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
DEFAULT_FACELETS_SUFFIX
public static final StringSE DEFAULT_FACELETS_SUFFIX
Web アプリが URL 拡張マッピングを使用している場合に Facelet ベースの XHTML ページのデフォルト拡張に使用する値。
- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_VIEW_MAPPINGS_PARAM_NAME
public static final StringSE FACELETS_VIEW_MAPPINGS_PARAM_NAME
Web アプリケーションがセミコロン (;) で区切られた文字列のリストを定義できるようにします。このリストは、拡張子に関係なく、アプリケーション内の特定のページを Facelets を使用していると解釈する必要があることを強制的に宣言するために使用されます。セミコロン (;) で区切られた文字列のリスト内の各エントリは、
*.xhtml
のようにファイル拡張子、または/user/*
のようにリソースプレフィックス ( "/" で始まり、Web アプリケーションルートに対して相対的に解釈される) のいずれかです。後者のエントリのクラスは、/login.xhtml*
などの/<filename>.<extension>*
の形式を取ることもできます。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_BUFFER_SIZE_PARAM_NAME
public static final StringSE FACELETS_BUFFER_SIZE_PARAM_NAME
ResponseWriter が生成されたときにレスポンスに設定するバッファーサイズ。デフォルトでは、値は 1024 です。値 -1 は、レスポンスにバッファーサイズを割り当てません。エラーが生成されたときにレスポンスが部分的にレンダリングされないことを保証するために、開発モードを使用している場合は、これを増やす必要があります。ランタイムは、ファセットも考慮する必要があります。既存の facelets タグライブラリとの下位互換性のために、このパラメーター名のエイリアスとしての BUFFER_SIZE パラメーター名。
- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_REFRESH_PERIOD_PARAM_NAME
public static final StringSE FACELETS_REFRESH_PERIOD_PARAM_NAME
ページがリクエストされたときに、コンパイラーが変更をチェックする間隔(秒単位)。ページのコンパイル後にコンパイラーが変更をチェックしないようにする場合は、値 -1 を使用します。リフレッシュ期間を短く設定すると、開発中に実行中のアプリケーションのページを編集できるようになります。ランタイムは、ファセットも考慮する必要があります。既存の facelets タグライブラリとの下位互換性のために、このパラメーター名のエイリアスとしての REFRESH_PERIOD パラメーター名。
ProjectStage
がProduction
に設定されていて、この値が特に指定されていない場合、ランタイムは -1 に設定されているかのように動作する必要があります。- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_LIBRARIES_PARAM_NAME
public static final StringSE FACELETS_LIBRARIES_PARAM_NAME
このパラメーターが設定されている場合、ランタイムは、"/" (引用符なし)で始まるセミコロン(;)で区切られたパスのリストとして解釈する必要があります。ランタイムは、リスト内の各エントリを Web アプリケーションルートからの相対パスとして解釈し、そのパスで見つかったファイルをフェイスレットタグライブラリとして解釈し、フェイスレットタグライブラリスキーマに準拠して、セクション「ファセットタグライブラリ機構 "。ランタイムは、ファセットも考慮する必要があります。既存の facelets タグライブラリとの下位互換性のために、このパラメーター名のエイリアスとしての LIBRARIES パラメーター名。
- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
FACELETS_DECORATORS_PARAM_NAME
public static final StringSE FACELETS_DECORATORS_PARAM_NAME
引数のないコンストラクターを含む、jakarta.faces.view.facelets.TagDecorator 型のクラス名のセミコロン (;) 区切りのリスト。これらのデコレータは、Facelets VDL ビューの最初のリクエストがページコンパイルのために ViewHandler にヒットしたときにロードされます。ランタイムはファセットも考慮する必要があります。DECORATORS パラメーター名は、既存の facelets タグライブラリとの下位互換性のために、このパラメーター名のエイリアスとして使用されます。
- 導入:
- 2.0
- 関連事項:
- 定数フィールド値
メソッドの詳細
initView
public void initView(FacesContext context) throws FacesException
リクエスト処理ライフサイクルのビューを初期化します。
このメソッドは、リクエスト処理ライフサイクルのビューの復元フェーズの開始時に呼び出す必要があります。lifycecle の操作に必要なリクエストごとの初期化を実行する責任があります。
デフォルトの実装では、次のアクションを実行する必要があります。
ExternalContext.getRequestCharacterEncoding()
がnull
を返す場合は、calculateCharacterEncoding(jakarta.faces.context.FacesContext)
を呼び出し、null
でない場合は、結果をExternalContext.setRequestCharacterEncoding(java.lang.String)
メソッドに渡します。ExternalContext.getRequestCharacterEncoding()
が非 null
を返した場合、アクションは実行されません。- パラメーター:
context
- Faces コンテキスト。- 例外:
FacesException
- エンコーディングがサポートされていないときに、基盤となる Jakarta Servlet またはポートレットテクノロジによってスローされるUnsupportedEncodingException
など、エンコーディングの設定で問題が発生した場合。
restoreView
public abstract UIViewRoot restoreView(FacesContext context, StringSE viewId)
指定された
FacesContext
およびviewId
に関連付けられたビューを復元するために必要なアクションを実行します。ビューを復元する実際の作業を行うために、関連するStateManager
のrestoreView
に委譲する場合があります。指定されたviewId
に使用可能な状態がない場合は、null
を返します。それ以外の場合、デフォルトの実装では、この
viewId
のViewDeclarationLanguage
への参照を取得し、そのViewDeclarationLanguage.restoreView(jakarta.faces.context.FacesContext, java.lang.String)
メソッドを呼び出して、結果を返し、そのメソッドによってスローされた例外を飲み込まないようにする必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
viewId
- 現在のリクエストのビュー識別子- 戻り値:
- 復元されたビュールート、または null。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合FacesException
- Jakarta Servlet エラーが発生した場合
createView
public abstract UIViewRoot createView(FacesContext context, StringSE viewId)
引数
FacesContext
およびviewId
からの情報で初期化された新しいUIViewRoot
インスタンスを作成して返します。ビューで使用されている VDL のViewDeclarationLanguage
実装を見つけます。引数viewId
は、ViewDeclarationLanguage
ViewDeclarationLanguage.createView(jakarta.faces.context.FacesContext, java.lang.String)
での使用に適した実際のリソースを参照できる物理viewId
に変換する必要があります。これは、このメソッドで呼び出す必要があります。- パラメーター:
context
- Faces コンテキスト。viewId
- ビュー ID。- 戻り値:
- ビュールート。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合
renderView
public abstract void renderView(FacesContext context, UIViewRoot viewToRender) throws IOExceptionSE, FacesException
現在の
FacesContext
に関連付けられているレスポンスオブジェクトにレスポンスビューをレンダリングするために必要なアクションを実行します。それ以外の場合、デフォルトの実装では、引数
viewToRender
のviewId
のViewDeclarationLanguage
への参照を取得し、そのViewDeclarationLanguage.renderView(jakarta.faces.context.FacesContext, jakarta.faces.component.UIViewRoot)
メソッドを呼び出して、結果を返し、そのメソッドによってスローされた例外を飲み込まないようにする必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
viewToRender
- レンダリングするビュー- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-context
またはviewToRender
がnull
の場合FacesException
- Jakarta Servlet エラーが発生した場合
calculateLocale
public abstract LocaleSE calculateLocale(FacesContext context)
現在のクライアントに対するこのリクエストと後続のリクエストに使用する適切な
Locale
SE を返します。- パラメーター:
context
- 現在のリクエストのFacesContext
- 戻り値:
- ロケール。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合
calculateCharacterEncoding
public StringSE calculateCharacterEncoding(FacesContext context)
このリクエストに使用される正しい文字エンコーディングを返します。
以下のアルゴリズムが採用されています。
Content-Type
リクエストヘッダーを調べます。charset
パラメーターがある場合は、それを抽出してエンコーディングとして返します。charset
パラメーターが見つからなかった場合は、false
を引数として渡してExternalContext.getSession(boolean)
を呼び出し、セッションの存在を確認してください。そのメソッドがtrue
を返す場合は、ExternalContext.getSessionMap()
を呼び出してセッションマップを取得し、シンボリック定数CHARACTER_ENCODING_KEY
の値で指定されたキーの値を探します。存在する場合は、文字列に変換された値を返します。それ以外の場合は、
null
を返します
- パラメーター:
context
- Faces コンテキスト。- 戻り値:
- 文字エンコード、または
null
- 導入:
- 1.2
calculateRenderKitId
public abstract StringSE calculateRenderKitId(FacesContext context)
現在のクライアントからのこのリクエストと後続のリクエストに対して適切な
renderKitId
を返します。このメソッドがnull
を返すのはエラーです。デフォルトの戻り値は
RenderKitFactory.HTML_BASIC_RENDER_KIT
です。- パラメーター:
context
- 現在のリクエストのFacesContext
- 戻り値:
- レンダーキット ID。
- 例外:
NullPointerExceptionSE
-context
がnull
の場合
deriveViewId
public StringSE deriveViewId(FacesContext context, StringSE requestViewId)
Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。
このメソッドは、サーブレット .12.2 で定義されている
path mapping
、extension mapping
、exact match
(マッピング)のいずれかを介して FacesServlet が呼び出された場合に正しく機能するはずです。path mapping
は一般にプレフィックスマッピング(例: "/faces/*")とも呼ばれ、extension mapping
はサフィックスマッピング(例: "*.xhtml" )としても知られていることに注意してください。"/foo" などの正確な URL パターンを持つサーブレットマッピングがある場合、exact match
が可能です。このメソッドのデフォルトの実装では、requestViewId がそのまま返されます。
- パラメーター:
context
- このリクエストのFacesContext
requestViewId
- 導出するviewId
- 戻り値:
- 派生ビュー ID。
- 導入:
- 2.0
deriveLogicalViewId
public StringSE deriveLogicalViewId(FacesContext context, StringSE requestViewId)
Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。
deriveViewId()
とは異なり、このメソッドでは物理ビューが存在する必要がないことに注意してください。このメソッドは、サーブレット .12.2 で定義されている
path mapping
、extension mapping
、exact match
(マッピング)のいずれかを介して FacesServlet が呼び出された場合に正しく機能するはずです。path mapping
は一般にプレフィックスマッピング(例: "/faces/*")とも呼ばれ、extension mapping
はサフィックスマッピング(例: "*.xhtml" )としても知られていることに注意してください。"/foo" などの正確な URL パターンを持つサーブレットマッピングがある場合、exact match
が可能です。このメソッドのデフォルトの実装では、requestViewId がそのまま返されます。
- パラメーター:
context
- このリクエストのFacesContext
requestViewId
- 導出するviewId
- 戻り値:
- 派生した論理ビュー ID。
- 導入:
- 2.1
getActionURL
public abstract StringSE getActionURL(FacesContext context, StringSE viewId)
このメソッドから返された値が
java.net.URL
の 4 つの引数コンストラクターへのfile
引数として使用される場合 (最初の 3 つの引数に適切な値が使用されると仮定)、そのURL
のtoExternalForm()
にリクエストを行うクライアントは引数を選択します。Jakarta Faces ライフサイクルをトラバースするためのviewId
。完全な仕様については、Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」を参照してください。特に、ResponseStateManager.NON_POSTBACK_VIEW_TOKEN_PARAM
を使用したビュー保護に関する詳細 と、現在のリクエストが FacesServlet がサーブレットによって定義された正確なマッピングを持つ URL に対するものである場合の動作については、を参照してください。.12.2。- パラメーター:
context
- このリクエストのFacesContext
viewId
- 目的のビューのビュー識別子- 戻り値:
- アクション URL。
- 例外:
IllegalArgumentExceptionSE
-viewId
がこのViewHandler
に対して無効であるか、"/" で始まらない場合。NullPointerExceptionSE
-context
またはviewId
がnull
の場合。
getRedirectURL
public StringSE getRedirectURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)
NonFaces リクエストを使用して URL にリダイレクトリクエストを発行するために
NavigationHandler
によって使用されるのに適したviewId
引数から派生した Jakarta Faces アクション URL を返します。準拠した実装では、Jakarta Faces Specification Document のセクション 7.6.2「デフォルト ViewHandler 実装」で指定されているように、このメソッドを実装する必要があります。デフォルトの実装では、引数context
およびviewId
を渡して、単にgetActionURL(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出します。- パラメーター:
context
- このリクエストを処理する FacesContextviewId
- ターゲットページのビュー識別子parameters
- パラメーター名の 1 つ以上の値へのマッピングincludeViewParams
- ビューパラメーターをこの URL にエンコードする必要があるかどうかを示すフラグ- 戻り値:
- リダイレクト URL。
- 導入:
- 2.0
getBookmarkableURL
public StringSE getBookmarkableURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)
Jakarta Faces レスポンスのリンクのターゲットとして使用するのに適した、viewId 引数から派生した Jakarta Faces アクション URL を返します。準拠実装では、Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で指定されているように、このメソッドを実装する必要があります。デフォルトの実装では、引数
context
とviewId
を渡して、getActionURL(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出すだけです。- パラメーター:
context
- このリクエストを処理する FacesContextviewId
- ターゲットページのビュー識別子parameters
- パラメーター名の 1 つ以上の値へのマッピングincludeViewParams
- ビューパラメーターをこの URL にエンコードする必要があるかどうかを示すフラグ- 戻り値:
- ブックマーク可能な URL。
- 導入:
- 2.0
getResourceURL
public abstract StringSE getResourceURL(FacesContext context, StringSE path)
このメソッドから返された値が
java.net.URL
の 4 引数コンストラクターへのfile
引数として使用される場合(最初の 3 つの引数に適切な値が使用されると仮定)、そのURL
のtoExternalForm()
にリクエストを行うクライアントは引数を選択します。直接レンダリング用のpath
。指定されたパスがスラッシュで始まる場合は、コンテキスト相対として扱う必要があります。それ以外の場合は、現在のビューのアクション URL に関連するものとして扱う必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
path
- URL に変換するためのリソースパス- 戻り値:
- リソース URL。
- 例外:
IllegalArgumentExceptionSE
-viewId
がこのViewHandler
に対して有効でない場合。NullPointerExceptionSE
-context
またはpath
がnull
の場合。
getWebsocketURL
public abstract StringSE getWebsocketURL(FacesContext context, StringSE channel)
このメソッドから返された値が
java.net.URL
の 4 引数コンストラクターへのfile
引数として使用される場合(最初の 3 つの引数に適切な値が使用されると仮定)、そのURL
のtoExternalForm()
にプッシュハンドシェイクリクエストを行うクライアントは現在のビューで WebSocket プッシュチャネルを接続するための引数channel
。エンドポイントのPushContext.URI_PREFIX
と一致する必要があります。- パラメーター:
context
- 現在のリクエストのFacesContext
。channel
- WebSocket のチャネル名。- 戻り値:
- WebSocket の URL。
- 例外:
NullPointerExceptionSE
-context
またはchannel
がnull
の場合。- 関連事項:
PushContext.URI_PREFIX
getProtectedViewsUnmodifiable
public SetSE<StringSE> getProtectedViewsUnmodifiable()
この
ViewHandler
インスタンスに現在認識されている保護されたビューの変更不可能なSet
を返します。準拠する実装は、現在のアプリケーションのすべてのアプリケーション構成リソース内のすべての<protected-views>
内のすべての<url-pattern>
要素の内容を連結したSet
を返す必要があります。ランタイムは、アプリケーションの起動後いつでもこのメソッドの呼び出しをサポートする必要があります。デフォルトの実装は、変更不可能な空のSet
を返します。- 戻り値:
- 変更できない保護されたビューのセット。
- 導入:
- 2.2
addProtectedView
public void addProtectedView(StringSE urlPattern)
このアプリケーションの保護されたビューのスレッドセーフ
Set
に引数urlPattern
を追加します。準拠した実装により、getProtectedViewsUnmodifiable()
への後続の呼び出しに引数が含まれるようになります。ランタイムは、アプリケーションの起動後いつでもこのメソッドの呼び出しをサポートする必要があります。デフォルトの実装はアクションを実行しません。- パラメーター:
urlPattern
- 追加する url-pattern。- 導入:
- 2.2
removeProtectedView
public boolean removeProtectedView(StringSE urlPattern)
Set
に存在する場合は、このアプリケーションの保護されたビューのスレッドセーフSet
から引数urlPattern
を削除します。引数urlPattern
がSet
に存在しない場合、このメソッドは効果がありません。準拠する実装では、その後のgetProtectedViewsUnmodifiable()
の呼び出しに引数が含まれないようにする必要があります。ランタイムは、アプリケーションの起動後いつでもこのメソッドの呼び出しをサポートする必要があります。このSet
に引数が含まれている場合、true
を返します。デフォルトの実装はアクションを実行せず、false
を返します。- パラメーター:
urlPattern
- 削除する url-pattern。- 戻り値:
-
Set
の場合はtrue
、それ以外の場合はfalse
。 - 導入:
- 2.2
getViewDeclarationLanguage
public ViewDeclarationLanguage getViewDeclarationLanguage(FacesContext context, StringSE viewId)
この
ViewHandler
インスタンスに使用ViewDeclarationLanguage
インスタンスを返します。デフォルトの実装では、
ViewDeclarationLanguageFactory.getViewDeclarationLanguage(java.lang.String)
を使用して、引数viewId
に適切なViewDeclarationLanguage
実装を取得する必要があります。そのメソッドを呼び出した結果としてスローされた例外は、飲み込まないでください。このメソッドのデフォルトの実装は null を返します。
- パラメーター:
context
- このリクエストのFacesContext
viewId
-ViewDeclarationLanguage
が返される必要があるderiveLogicalViewId(jakarta.faces.context.FacesContext, java.lang.String)
から返される論理ビュー ID。- 戻り値:
- ViewDeclarationLanguage、または null。
- 導入:
- 2.0
getViews
public StreamSE<StringSE> getViews(FacesContext facesContext, StringSE path, int maxDepth, ViewVisitOption... options)
指定された初期パスをルートとするすべてのアクティブな
ViewDeclarationLanguage
のビューツリーを進めることにより、おそらく怠惰に設定されたStream
を返します。すべてのViewDeclarationLanguage
のビューツリーは、ViewDeclarationLanguage.getViews(FacesContext, String, int, ViewVisitOption...)
の契約に従って、幅優先で個別にトラバースされます。ストリーム内の要素は論理ビュー ID です。maxDepth
パラメーターは、常にアクセスされる初期パスを超えて、各ViewDeclarationLanguage
がアクセスするディレクトリレベルの最大深度です。値は、指定された初期パスではなく、ルート(/
)を基準にしています。たとえば、maxDepth
=3
および初期パス/foo/
が与えられた場合、訪問は/foo/bar/
まで進みます。ここで、/
は深さ1
としてカウントされ、/foo/
は深さ2
としてカウントされ、/foo/bar/
は深さ3
としてカウントされます。初期パスの深さ以下の値は、初期パスのみが訪問されることを意味します。MAX_VALUE
SE の値を使用して、すべてのレベルにアクセスする必要があることを示すことができます。複数のアクティブな
ViewDeclarationLanguage
が存在する場合、すべての個々のViewDeclarationLanguage
が幅優先でトラバースされるという保証を除いて、各ViewDeclarationLanguage
からのビュー ID がストリームに表示される順序は決定されていません。- パラメーター:
facesContext
- このリクエストのFacesContext
。path
- ビュー ID の検索を開始する最初のパス。maxDepth
- ルート(/
)から数えた、アクセスするネストされたディレクトリの絶対最大深度。options
- トラバーサルに影響を与えるオプション。これらの詳細については、ViewVisitOption
を参照してください。- 戻り値:
- ビュー ID の
Stream
SE - 導入:
- 2.3
getViews
public StreamSE<StringSE> getViews(FacesContext facesContext, StringSE path, ViewVisitOption... options)
指定された初期パスをルートとするすべてのアクティブな
ViewDeclarationLanguage
のビューツリーを進めることにより、おそらく怠惰に設定されたStream
を返します。すべてのViewDeclarationLanguage
のビューツリーは、ViewDeclarationLanguage.getViews(FacesContext, String, int, ViewVisitOption...)
の契約に従って、幅優先で個別にトラバースされます。ストリーム内の要素は論理ビュー ID です。このメソッドは、それを呼び出すことは式を評価することと同等であるかのように機能します。
言い換えると、ビューツリーのすべてのレベルにアクセスします。getViews(facesContext, start, Integer.MAX_VALUE, options)
複数のアクティブな
ViewDeclarationLanguage
が存在する場合、すべての個々のViewDeclarationLanguage
が幅優先でトラバースされるという保証を除いて、各ViewDeclarationLanguage
からのビュー ID がストリームに表示される順序は決定されていません。- パラメーター:
facesContext
- このリクエストのFacesContext
。path
- ビュー ID の検索を開始する最初のパス。options
- トラバーサルに影響を与えるオプション。これらの詳細については、ViewVisitOption
を参照してください。- 戻り値:
- ビュー ID の
Stream
SE - 導入:
- 2.3
writeState
public abstract void writeState(FacesContext context) throws IOExceptionSE
現在の状態情報をすぐに書き出す(
StateManager.writeState(jakarta.faces.context.FacesContext, java.lang.Object)
を呼び出すか、後で状態情報をどこに書き込むかを記録する)ために、適切なアクションを実行します。現在のリクエストが
Ajax
リクエストの場合、このメソッドは何もしません。Ajax
リクエストにレスポンスする場合、状態はStateManager.getViewState(jakarta.faces.context.FacesContext)
を呼び出すことによって取得され、最終的なエンコード(PartialViewContext.processPartial(jakarta.faces.event.PhaseId)
)中にAjax
レスポンスに書き込まれます。- パラメーター:
context
- 現在のリクエストのFacesContext
- 例外:
IOExceptionSE
- 入出力エラーが発生した場合NullPointerExceptionSE
-context
がnull
の場合