クラス 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コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected ViewapplyLifecycleMethods(StringSE viewName, AbstractUrlBasedView view) 含まれているApplicationContextのライフサイクルメソッドを特定のViewインスタンスに適用します(そのようなコンテキストが利用可能な場合)。protected booleanこのViewResolverが指定されたビュー名を処理できるかどうかを示します。protected AbstractUrlBasedViewcreateView(StringSE viewName) 指定されたビュークラスの新しい View インスタンスを作成して構成します。含まれているApplicationContextがあれば、それを返します。protected StringSEURL を構築するときにビュー名の前に付加されるプレフィックスを返します。protected StringSEすべてのビューのRequestContext属性があれば、その名前を返します。protected StringSEURL を構築するときにビュー名に追加されるサフィックスを返します。protected ClassSE<?>ビューの作成に使用されるビュークラスを返します。protected StringSE[]このViewResolverで処理できるビュー名(または名前パターン)を返します。protected AbstractUrlBasedView指定されたビュークラスをインスタンス化します。protected ClassSE<?>このリゾルバーに必要なビューの型を返します。reactor.core.publisher.Mono<View>resolveViewName(StringSE viewName, LocaleSE locale) ビュー名を View インスタンスに解決します。voidsetApplicationContext(ApplicationContext applicationContext) 含まれているApplicationContextがあればそれを受け入れます。voidURL を作成するときに名前を表示するために付加されるプレフィックスを設定します。voidsetRedirectViewProvider(FunctionSE<StringSE, RedirectView> redirectViewProvider) たとえば、リダイレクトビューにカスタムデフォルトステータスコードを提供するために使用できる URL ベースのRedirectViewプロバイダー。voidsetRequestContextAttribute(StringSE requestContextAttribute) すべてのビューのRequestContext属性の名前を設定します。voidURL を作成するときにビュー名に追加されるサフィックスを設定します。voidsetViewClass(ClassSE<?> viewClass) ビューの作成に使用するビュークラスを設定します。voidsetViewNames(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インスタンス (オリジナルまたは装飾されたバリアントのいずれか) - 関連事項: