クラス 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 StringSECHARACTER_ENCODING_KEYセッションの属性セット内のキーで、そにレスポンス文字エンコードを格納および取得できます。static StringSEDEFAULT_FACELETS_SUFFIXWeb アプリが URL 拡張マッピングを使用している場合に Facelet ベースの XHTML ページのデフォルト拡張に使用する値。static StringSEDEFAULT_SUFFIX非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにDEFAULT_FACELETS_SUFFIXを使用してください。static StringSEDEFAULT_SUFFIX_PARAM_NAME非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。代わりにFACELETS_SUFFIX_PARAM_NAMEを使用してください。static StringSEFACELETS_BUFFER_SIZE_PARAM_NAMEResponseWriter が生成されたときにレスポンスに設定するバッファーサイズ。static StringSEFACELETS_DECORATORS_PARAM_NAME引数のないコンストラクターを含む、jakarta.faces.view.facelets.TagDecorator 型のクラス名のセミコロン (;) 区切りのリスト。static StringSEFACELETS_LIBRARIES_PARAM_NAMEこのパラメーターが設定されている場合、ランタイムは、"/" (引用符なし)で始まるセミコロン(;)で区切られたパスのリストとして解釈する必要があります。static StringSEFACELETS_REFRESH_PERIOD_PARAM_NAMEページがリクエストされたときに、コンパイラーが変更をチェックする間隔(秒単位)。static StringSEFACELETS_SKIP_COMMENTS_PARAM_NAMEこのパラメーターが設定されていて、その値の文字列表現で toLowerCase().equals("true" )を呼び出すと true が返される場合、ランタイムは、Facelets ソースページの XML コメントがクライアントに配信されないようにする必要があります。static StringSEFACELETS_SUFFIX_PARAM_NAMEWeb アプリケーションが Jakarta Faces コンテンツを含む Facelet ベースの XHTML ページの代替接尾辞のリストを定義できるようにします。static StringSEFACELETS_VIEW_MAPPINGS_PARAM_NAMEWeb アプリケーションで、セミコロン(;)で区切られた文字列のリストを定義できるようにします。これは、アプリケーション内の特定のページが、拡張子に関係なく、Facelets を使用していると解釈する必要があることを強制的に宣言するために使用されます。
コンストラクター概要
コンストラクター コンストラクター 説明 ViewHandler()
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 voidaddProtectedView(StringSE urlPattern)このアプリケーションの保護されたビューのスレッドセーフSetに引数urlPatternを追加します。StringSEcalculateCharacterEncoding(FacesContext context)このリクエストに使用される正しい文字エンコーディングを返します。abstract LocaleSEcalculateLocale(FacesContext context)現在のクライアントに対するこのリクエストと後続のリクエストに使用する適切なLocaleSE を返します。abstract StringSEcalculateRenderKitId(FacesContext context)現在のクライアントからのこのリクエストおよび後続のリクエストに対して適切なrenderKitIdを返します。abstract UIViewRootcreateView(FacesContext context, StringSE viewId)StringSEderiveLogicalViewId(FacesContext context, StringSE requestViewId)Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。StringSEderiveViewId(FacesContext context, StringSE requestViewId)Jakarta Faces Specification Document のセクション 7.6.2「デフォルトの ViewHandler 実装」で定義されているアルゴリズムに従って、現在のリクエストまたは引数入力から viewId を導出して返します。abstract StringSEgetActionURL(FacesContext context, StringSE viewId)このメソッドから返された値がjava.net.URLための 4 つの引数のコンストラクターへfile引数として使用される場合、クライアントはURL引数を選択することのtoExternalForm()にリクエストを行う、(適切な値は、最初の 3 つの引数に使用されると仮定します) Jakarta Faces ライフサイクルをトラバースするためのviewId。StringSEgetBookmarkableURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)Jakarta Faces レスポンスのリンクのターゲットとして使用するのに適した、viewId 引数から派生した Jakarta Faces アクション URL を返します。SetSE<StringSE>getProtectedViewsUnmodifiable()このViewHandlerインスタンスに現在認識されている保護されたビューの変更不可能なSetを返します。StringSEgetRedirectURL(FacesContext context, StringSE viewId, MapSE<StringSE,ListSE<StringSE>> parameters, boolean includeViewParams)NavigationHandlerが NonFaces リクエストを使用して URL にリダイレクトリクエストを発行するために使用するのに適した、viewId引数から派生した Jakarta Faces アクション URL を返します。abstract StringSEgetResourceURL(FacesContext context, StringSE path)このメソッドから返された値が、java.net.URLの 4 つの引数を持つコンストラクターのfile引数として使用される場合(最初の 3 つの引数に適切な値が使用されていると想定)、そのURLのtoExternalForm()にリクエストを行うクライアントは、引数を選択します。直接レンダリング用のpath。ViewDeclarationLanguagegetViewDeclarationLanguage(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 StringSEgetWebsocketURL(FacesContext context, StringSE channel)このメソッドから返された値が、java.net.URLの 4 つの引数を持つコンストラクターのfile引数として使用される場合(最初の 3 つの引数に適切な値が使用されると想定)、そのURLのtoExternalForm()へのプッシュハンドシェイクリクエストを行うクライアントは、現在のビューで WebSocket プッシュチャネルを接続するための引数channelvoidinitView(FacesContext context)リクエスト処理ライフサイクルのビューを初期化します。booleanremoveProtectedView(StringSE urlPattern)Setに存在する場合は、このアプリケーションの保護されたビューのスレッドセーフSetから引数urlPatternを削除します。abstract voidrenderView(FacesContext context, UIViewRoot viewToRender)現在のFacesContextに関連付けられているレスポンスオブジェクトにレスポンスビューをレンダリングするために必要なアクションを実行します。abstract UIViewRootrestoreView(FacesContext context, StringSE viewId)abstract voidwriteState(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- 現在のリクエストのFacesContextviewId- 現在のリクエストのビュー識別子- 戻り値:
- 復元されたビュールート、または null。
- 例外:
NullPointerExceptionSE-contextがnullの場合FacesException- Jakarta Servlet エラーが発生した場合
createView
public abstract UIViewRoot createView(FacesContext context, StringSE viewId)
引数
FacesContextおよびviewIdからの情報で初期化された新しいUIViewRootインスタンスを作成して返します。ビューで使用されている VDL のViewDeclarationLanguage実装を見つけます。引数viewIdは、ViewDeclarationLanguageViewDeclarationLanguage.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- 現在のリクエストのFacesContextviewToRender- レンダリングするビュー- 例外:
IOExceptionSE- 入出力エラーが発生した場合NullPointerExceptionSE-contextまたはviewToRenderがnullの場合FacesException- Jakarta Servlet エラーが発生した場合
calculateLocale
public abstract LocaleSE calculateLocale(FacesContext context)
現在のクライアントに対するこのリクエストと後続のリクエストに使用する適切な
LocaleSE を返します。- パラメーター:
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- このリクエストのFacesContextrequestViewId- 導出する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- このリクエストのFacesContextrequestViewId- 導出する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- このリクエストのFacesContextviewId- 目的のビューのビュー識別子- 戻り値:
- アクション 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- 現在のリクエストのFacesContextpath- 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- このリクエストのFacesContextviewId-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_VALUESE の値を使用して、すべてのレベルにアクセスする必要があることを示すことができます。複数のアクティブな
ViewDeclarationLanguageが存在する場合、すべての個々のViewDeclarationLanguageが幅優先でトラバースされるという保証を除いて、各ViewDeclarationLanguageからのビュー ID がストリームに表示される順序は決定されていません。- パラメーター:
facesContext- このリクエストのFacesContext。path- ビュー ID の検索を開始する最初のパス。maxDepth- ルート(/)から数えた、アクセスするネストされたディレクトリの絶対最大深度。options- トラバーサルに影響を与えるオプション。これらの詳細については、ViewVisitOptionを参照してください。- 戻り値:
- ビュー ID の
StreamSE - 導入:
- 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 の
StreamSE - 導入:
- 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の場合