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