クラス AbstractView
java.lang.ObjectSE
org.springframework.web.reactive.result.view.AbstractView
- 実装されているすべてのインターフェース:
Aware、BeanNameAware、ApplicationContextAware、View
- 既知の直属サブクラス
AbstractUrlBasedView
public abstract class AbstractView
extends ObjectSE
implements View, BeanNameAware, ApplicationContextAware
View 実装の基本クラス。- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Sam Brannen
フィールドのサマリー
フィールド修飾子と型フィールド説明protected final Logサブクラスで利用可能なロガー。static final StringSEBean ファクトリの RequestDataValueProcessor のよく知られた名前。インターフェース org.springframework.web.reactive.result.view.View から継承されたフィールド
BINDING_CONTEXT_ATTRIBUTEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected RequestContextcreateRequestContext(ServerWebExchange exchange, MapSE<StringSE, ObjectSE> model) 指定された属性名で公開するRequestContextを作成します。protected StringSEビューの名前を取得します。コンテンツ型に文字セットが含まれていない場合に使用されるデフォルトの文字セットを取得します。getModelAttributes(MapSE<StringSE, ?> model, ServerWebExchange exchange) レンダリングに使用するモデルを準備します。このビューのRequestContext属性の名前を取得します(ある場合)。protected RequestDataValueProcessor使用するRequestDataValueProcessorを取得します。このビューでサポートされている構成済みメディア型を取得します。protected final ApplicationContext実際に使用するためにApplicationContextを取得します。reactor.core.publisher.Mono<VoidSE>render(MapSE<StringSE, ?> model, MediaType contentType, ServerWebExchange exchange) レンダリングするモデルを準備します。protected abstract reactor.core.publisher.Mono<VoidSE>renderInternal(MapSE<StringSE, ObjectSE> renderAttributes, MediaType contentType, ServerWebExchange exchange) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。protected reactor.core.publisher.Mono<VoidSE>resolveAsyncAttributes(MapSE<StringSE, ObjectSE> model, ServerWebExchange exchange) voidsetApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。voidsetBeanName(StringSE beanName) ビューの名前を設定します。voidsetDefaultCharset(CharsetSE defaultCharset) このビューのデフォルトの文字セットを設定します。コンテンツ型に文字セットが含まれていない場合に使用されます。voidsetRequestContextAttribute(StringSE requestContextAttribute) このビューのRequestContext属性の名前を設定します。voidsetSupportedMediaTypes(ListSE<MediaType> supportedMediaTypes) このビューでサポートされるメディア型を設定します。toString()クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.web.reactive.result.view.View から継承されたメソッド
isRedirectView
フィールドの詳細
REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
Bean ファクトリの RequestDataValueProcessor のよく知られた名前。- 関連事項:
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
AbstractView
public AbstractView()AbstractView
メソッドの詳細
setSupportedMediaTypes
このビューでサポートされるメディア型を設定します。デフォルトは
"text/html;charset=UTF-8"です。getSupportedMediaTypes
このビューでサポートされている構成済みメディア型を取得します。- 次で指定:
- インターフェース
ViewのgetSupportedMediaTypes
setDefaultCharset
getDefaultCharset
コンテンツ型に文字セットが含まれていない場合に使用されるデフォルトの文字セットを取得します。setRequestContextAttribute
このビューのRequestContext属性の名前を設定します。デフォルトはなし(
null)です。getRequestContextAttribute
このビューのRequestContext属性の名前を取得します(ある場合)。setBeanName
ビューの名前を設定します。トレーサビリティに役立ちます。フレームワークコードは、ビューを構築するときにこれを呼び出す必要があります。
- 次で指定:
- インターフェース
BeanNameAwareのsetBeanName - パラメーター:
beanName- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。
getBeanName
ビューの名前を取得します。ビューが正しく構成されている場合は、
nullにしないでください。setApplicationContext
インターフェースからコピーされた説明:ApplicationContextAwareこのオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)およびMessageSourceAwareの後に呼び出されます(該当する場合)。- 次で指定:
- インターフェース
ApplicationContextAwareのsetApplicationContext - パラメーター:
applicationContext- このオブジェクトによって使用される ApplicationContext オブジェクト- 関連事項:
getApplicationContext
obtainApplicationContext
実際に使用するためにApplicationContextを取得します。- 戻り値:
ApplicationContext(非null)- 例外:
IllegalStateExceptionSE- ApplicationContext が入手できない場合- 関連事項:
render
public reactor.core.publisher.Mono<VoidSE> render(@Nullable MapSE<StringSE, ?> model, @Nullable MediaType contentType, ServerWebExchange exchange) レンダリングするモデルを準備します。- 次で指定:
- インターフェース
Viewのrender - パラメーター:
model- 属性名をキーとして、対応するモデルオブジェクトを値として持つマップ (空のモデルの場合、マップはnullにすることもできます)contentType- レンダリングするために選択されたコンテンツ型。supported media typesのいずれかと一致する必要がありますexchange- 現在の交換- 戻り値:
- レンダリングが成功したときと成功したかどうかを表す
Mono
getModelAttributes
protected reactor.core.publisher.Mono<MapSE<StringSE,ObjectSE>> getModelAttributes(@Nullable MapSE<StringSE, ?> model, ServerWebExchange exchange) レンダリングに使用するモデルを準備します。デフォルトの実装では、モデルと静的属性を含む結合出力マップが作成され、前者が優先されます。
resolveAsyncAttributes
protected reactor.core.publisher.Mono<VoidSE> resolveAsyncAttributes(MapSE<StringSE, ObjectSE> model, ServerWebExchange exchange) 構成済みのReactiveAdapterRegistryを使用して、非同期属性をMono<T>またはMono<List<T>>に適応させ、実際の値に解決するのを待ちます。返されたMono<Void>が完了すると、モデルの非同期属性は、対応する解決された値に置き換えられます。- 戻り値:
- モデルの準備ができたときに完了する
Monoの結果 - 導入:
- 5.1.8
createRequestContext
protected RequestContext createRequestContext(ServerWebExchange exchange, MapSE<StringSE, ObjectSE> model) 指定された属性名で公開するRequestContextを作成します。デフォルトの実装では、指定された交換とモデルの標準
RequestContextインスタンスを作成します。サブクラスでオーバーライドして、カスタムインスタンスを作成できます。
- パラメーター:
exchange- 現在の交換model- 動的な値が静的な属性よりも優先される、結合された出力マップ(決してnullではない)- 戻り値:
RequestContextインスタンス- 関連事項:
getRequestDataValueProcessor
使用するRequestDataValueProcessorを取得します。デフォルトの実装では、
REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAMEという名前のRequestDataValueProcessorBean をApplicationContextで探します。- 戻り値:
RequestDataValueProcessor、またはアプリケーションコンテキストに何もない場合はnull
renderInternal
protected abstract reactor.core.publisher.Mono<VoidSE> renderInternal(MapSE<StringSE, ObjectSE> renderAttributes, @Nullable MediaType contentType, ServerWebExchange exchange) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。- パラメーター:
renderAttributes- 静的な属性よりも動的な値が優先される、結合された出力マップ(非null)contentType- レンダリングするために選択されたコンテンツ型。サポートされているメディア型のいずれかと一致する必要がありますexchange- 現在の交換- 戻り値:
- レンダリングが成功したときと成功したかどうかを表す
Mono
toString
formatViewName