クラス UrlBasedViewResolver
- 実装されたすべてのインターフェース:
Aware
、InitializingBean
、ApplicationContextAware
、Ordered
、ViewResolver
- 既知の直属サブクラス
FreeMarkerViewResolver
,ScriptTemplateViewResolver
ViewResolver
。これは、各ビューに専用のマッピングを定義する必要がなく、シンボリック名がビューリソースの名前と簡単に一致する場合に便利です(つまり、シンボリック名はリソースのファイル名の一意の部分です)。FreeMarkerView
のような AbstractUrlBasedView
サブクラスをサポートします。このリゾルバーによって生成されるすべてのビューのビュークラスは、"viewClass" プロパティで指定できます。
ビュー名は、それ自体がリソース URL であるか、指定されたプレフィックスやサフィックスによって拡張されます。RequestContext を保持する属性をすべてのビューにエクスポートすることは明示的にサポートされています。
サンプル: prefix="templates/"、suffix=".ftl"、viewname="test" → "templates/test.ftl"
特別な機能として、リダイレクト URL は "redirect:" プレフィックスを使用して指定できます。たとえば、"redirect:myAction" は、標準のビュー名として解決するのではなく、指定された URL へのリダイレクトをトリガーします。これは通常、フォームワークフローの終了後にコントローラー URL にリダイレクトするために使用されます。
メモ: このクラスはローカライズされた解決をサポートしません。つまり、現在のロケールに応じて、シンボリックビュー名を別のリソースに解決します。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Sebastien Deleuze, Juergen Hoeller, Sam Brannen
フィールドサマリー
修飾子と型フィールド説明static final StringSE
リダイレクト URL を指定する特別なビュー名のプレフィックス(通常は、フォームが送信および処理された後のコントローラーへ)。クラス org.springframework.web.reactive.result.view.ViewResolverSupport から継承されたフィールド
DEFAULT_CONTENT_TYPE
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明void
protected View
applyLifecycleMethods
(StringSE viewName, AbstractUrlBasedView view) 含まれているApplicationContext
のライフサイクルメソッドを特定のView
インスタンスに適用します(そのようなコンテキストが利用可能な場合)。protected boolean
このViewResolver
が指定されたビュー名を処理できるかどうかを示します。protected AbstractUrlBasedView
createView
(StringSE viewName) 指定されたビュークラスの新しい View インスタンスを作成して構成します。含まれているApplicationContext
があれば、それを返します。protected StringSE
URL を構築するときにビュー名の前に付加されるプレフィックスを返します。protected StringSE
すべてのビューのRequestContext
属性があれば、その名前を返します。protected StringSE
URL を構築するときにビュー名に追加されるサフィックスを返します。protected ClassSE<?>
ビューの作成に使用されるビュークラスを返します。protected StringSE[]
このViewResolver
で処理できるビュー名(または名前パターン)を返します。protected AbstractUrlBasedView
指定されたビュークラスをインスタンス化します。protected ClassSE<?>
このリゾルバーに必要なビューの型を返します。reactor.core.publisher.Mono<View>
resolveViewName
(StringSE viewName, LocaleSE locale) ビュー名を View インスタンスに解決します。void
setApplicationContext
(ApplicationContext applicationContext) 含まれているApplicationContext
があればそれを受け入れます。void
URL を作成するときに名前を表示するために付加されるプレフィックスを設定します。void
setRedirectViewProvider
(FunctionSE<StringSE, RedirectView> redirectViewProvider) たとえば、リダイレクトビューにカスタムデフォルトステータスコードを提供するために使用できる URL ベースのRedirectView
プロバイダー。void
setRequestContextAttribute
(StringSE requestContextAttribute) すべてのビューのRequestContext
属性の名前を設定します。void
URL を作成するときにビュー名に追加されるサフィックスを設定します。void
setViewClass
(ClassSE<?> viewClass) ビューの作成に使用するビュークラスを設定します。void
setViewNames
(StringSE... viewNames) このViewResolver
で処理できるビュー名(または名前パターン)を設定します。クラス org.springframework.web.reactive.result.view.ViewResolverSupport から継承されたメソッド
getDefaultCharset, getOrder, getSupportedMediaTypes, setDefaultCharset, setOrder, setSupportedMediaTypes
フィールドの詳細
REDIRECT_URL_PREFIX
リダイレクト URL を指定する特別なビュー名のプレフィックス(通常は、フォームが送信および処理された後のコントローラーへ)。このようなビュー名は、構成されたデフォルトの方法では解決されず、特別なショートカットとして扱われます。- 関連事項:
コンストラクターの詳細
UrlBasedViewResolver
public UrlBasedViewResolver()
メソッドの詳細
setViewClass
ビューの作成に使用するビュークラスを設定します。- パラメーター:
viewClass
- 必要なビュークラスに割り当て可能なクラス (デフォルト: AbstractUrlBasedView)- 関連事項:
getViewClass
ビューの作成に使用されるビュークラスを返します。setPrefix
URL を作成するときに名前を表示するために付加されるプレフィックスを設定します。getPrefix
URL を構築するときにビュー名の前に付加されるプレフィックスを返します。setSuffix
URL を作成するときにビュー名に追加されるサフィックスを設定します。getSuffix
URL を構築するときにビュー名に追加されるサフィックスを返します。setViewNames
このViewResolver
で処理できるビュー名 (または名前パターン) を設定します。ビュー名には単純なワイルドカードを含めることができます。たとえば、"my*"、"*Report"、"*Repo*" はすべてビュー名 "myReport" と一致します。getViewNames
このViewResolver
で処理できるビュー名(または名前パターン)を返します。setRedirectViewProvider
たとえば、リダイレクトビューにカスタムデフォルトステータスコードを提供するために使用できる URL ベースのRedirectView
プロバイダー。setRequestContextAttribute
すべてのビューのRequestContext
属性の名前を設定します。- パラメーター:
requestContextAttribute
- RequestContext 属性の名前- 関連事項:
getRequestContextAttribute
すべてのビューのRequestContext
属性があれば、その名前を返します。setApplicationContext
含まれているApplicationContext
があればそれを受け入れます。新しく作成された
View
インスタンスの初期化、ライフサイクルコールバックの適用、包含環境へのアクセスの提供に使用されます。- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- パラメーター:
applicationContext
- このオブジェクトによって使用される ApplicationContext オブジェクト- 関連事項:
getApplicationContext
含まれているApplicationContext
があれば、それを返します。afterPropertiesSet
インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE
- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合
resolveViewName
インターフェースからコピーされた説明:ViewResolver
ビュー名を View インスタンスに解決します。- 次で指定:
- インターフェース
ViewResolver
のresolveViewName
- パラメーター:
viewName
- 解決するビューの名前locale
- リクエストのロケール- 戻り値:
- 解決されたビューまたは空のストリーム
canHandle
このViewResolver
が指定されたビュー名を処理できるかどうかを示します。そうでない場合は、空の結果が返されます。デフォルトの実装は、構成されたview names
に対してチェックします。- パラメーター:
viewName
- 取得するビューの名前locale
- ビューを取得するロケール- 戻り値:
- このリゾルバーが指定されたビューに適用されるかどうか
- 関連事項:
requiredViewClass
このリゾルバーに必要なビューの型を返します。この実装はAbstractUrlBasedView
を返します。instantiateView
指定されたビュークラスをインスタンス化します。デフォルトの実装では、リフレクションを使用してクラスをインスタンス化します。
- 戻り値:
- ビュークラスの新しいインスタンス
- 導入:
- 5.3
- 関連事項:
createView
指定されたビュークラスの新しい View インスタンスを作成して構成します。事前定義されたビューインスタンスのルックアップは実行しません。
Bean コンテナーで定義されている Spring ライフサイクルメソッドは、ここで呼び出す必要はありません。
ApplicationContext
が利用可能であれば、後で自動的に適用されます。- パラメーター:
viewName
- 構築するビューの名前- 戻り値:
- ビューインスタンス
- 関連事項:
applyLifecycleMethods
含まれているApplicationContext
のライフサイクルメソッドを特定のView
インスタンスに適用します(そのようなコンテキストが利用可能な場合)。- パラメーター:
viewName
- ビューの名前view
-AbstractUrlBasedView
のプロパティで事前設定された、新しく作成された View インスタンス- 戻り値:
- 使用する
View
インスタンス (オリジナルまたは装飾されたバリアントのいずれか) - 関連事項: