public abstract class AbstractView extends java.lang.Object implements View, BeanNameAware, ApplicationContextAware
View
実装の基本クラス。修飾子と型 | フィールドと説明 |
---|---|
protected Log | logger サブクラスで利用可能なロガー。 |
static java.lang.String | REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME Bean ファクトリの RequestDataValueProcessor のよく知られた名前。 |
コンストラクターと説明 |
---|
AbstractView() |
AbstractView(ReactiveAdapterRegistry reactiveAdapterRegistry) |
修飾子と型 | メソッドと説明 |
---|---|
protected RequestContext | createRequestContext(ServerWebExchange exchange, java.util.Map<java.lang.String,java.lang.Object> model) 指定された属性名で公開する RequestContext を作成します。 |
protected java.lang.String | formatViewName() |
ApplicationContext | getApplicationContext() |
java.lang.String | getBeanName() ビューの名前を返します。 |
java.nio.charset.Charset | getDefaultCharset() コンテンツ型に文字セットが含まれていない場合に使用されるデフォルトの文字セットを返します。 |
protected reactor.core.publisher.Mono<java.util.Map<java.lang.String,java.lang.Object>> | getModelAttributes(java.util.Map<java.lang.String,?> model, ServerWebExchange exchange) レンダリングに使用するモデルを準備します。 |
java.lang.String | getRequestContextAttribute() RequestContext 属性の名前を返します(存在する場合)。 |
protected RequestDataValueProcessor | getRequestDataValueProcessor() 使用する RequestDataValueProcessor を返します。 |
java.util.List<MediaType> | getSupportedMediaTypes() このビューでサポートされている設定済みのメディア型を返します。 |
protected ApplicationContext | obtainApplicationContext() 実際に使用するために ApplicationContext を取得します。 |
reactor.core.publisher.Mono<java.lang.Void> | render(java.util.Map<java.lang.String,?> model, MediaType contentType, ServerWebExchange exchange) レンダリングするモデルを準備します。 |
protected abstract reactor.core.publisher.Mono<java.lang.Void> | renderInternal(java.util.Map<java.lang.String,java.lang.Object> renderAttributes, MediaType contentType, ServerWebExchange exchange) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。 |
protected reactor.core.publisher.Mono<java.lang.Void> | resolveAsyncAttributes(java.util.Map<java.lang.String,java.lang.Object> model) デフォルトでは、 ReactiveAdapterRegistry でサポートされている非同期属性を対応するブロッキング属性に解決します。 |
void | setApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。 |
void | setBeanName(java.lang.String beanName) ビューの名前を設定します。 |
void | setDefaultCharset(java.nio.charset.Charset defaultCharset) このビューのデフォルトの文字セットを設定します。コンテンツ型に文字セットが含まれていない場合に使用されます。 |
void | setRequestContextAttribute(java.lang.String requestContextAttribute) このビューの RequestContext 属性の名前を設定します。 |
void | setSupportedMediaTypes(java.util.List<MediaType> supportedMediaTypes) このビューでサポートされるメディア型を設定します。 |
java.lang.String | toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isRedirectView
public static final java.lang.String REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
protected final Log logger
public AbstractView()
public AbstractView(ReactiveAdapterRegistry reactiveAdapterRegistry)
public void setSupportedMediaTypes(java.util.List<MediaType> supportedMediaTypes)
public java.util.List<MediaType> getSupportedMediaTypes()
View
の getSupportedMediaTypes
public void setDefaultCharset(java.nio.charset.Charset defaultCharset)
public java.nio.charset.Charset getDefaultCharset()
public void setRequestContextAttribute(@Nullable java.lang.String requestContextAttribute)
@Nullable public java.lang.String getRequestContextAttribute()
public void setBeanName(@Nullable java.lang.String beanName)
フレームワークコードは、ビューを構築するときにこれを呼び出す必要があります。
BeanNameAware
の setBeanName
beanName
- ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String)
メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。@Nullable public java.lang.String getBeanName()
null
であってはなりません。public void setApplicationContext(@Nullable ApplicationContext applicationContext)
ApplicationContextAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
および MessageSourceAware
の後に呼び出されます(該当する場合)。
ApplicationContextAware
の setApplicationContext
applicationContext
- このオブジェクトによって使用される ApplicationContext オブジェクト BeanInitializationException
@Nullable public ApplicationContext getApplicationContext()
protected final ApplicationContext obtainApplicationContext()
null
)java.lang.IllegalStateException
- ApplicationContext セットがない場合 public reactor.core.publisher.Mono<java.lang.Void> render(@Nullable java.util.Map<java.lang.String,?> model, @Nullable MediaType contentType, ServerWebExchange exchange)
View
の render
model
- キーとして文字列名、値として対応するモデルオブジェクトを持つマップ (空のモデルの場合、マップは null
にすることもできます)contentType
- レンダリングするために選択されたコンテンツ型。supported media types
のいずれかと一致する必要があります。exchange
- 現在の交換 Mono
は、レンダリングが成功した場合と成功した場合を表します protected reactor.core.publisher.Mono<java.util.Map<java.lang.String,java.lang.Object>> getModelAttributes(@Nullable java.util.Map<java.lang.String,?> model, ServerWebExchange exchange)
デフォルトの実装では、モデルと静的属性を含む結合出力マップが作成され、前者が優先されます。
protected reactor.core.publisher.Mono<java.lang.Void> resolveAsyncAttributes(java.util.Map<java.lang.String,java.lang.Object> model)
ReactiveAdapterRegistry
でサポートされている非同期属性を対応するブロッキング属性に解決します。リアクティブ型を利用できるビューの実装では、必要に応じてこのメソッドをオーバーライドできます。
Mono
protected RequestContext createRequestContext(ServerWebExchange exchange, java.util.Map<java.lang.String,java.lang.Object> model)
デフォルトの実装では、指定されたリクエストとモデルの標準 RequestContext インスタンスが作成されます。カスタムインスタンスのサブクラスでオーバーライドできます。
exchange
- 現在の交換 model
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非 null
)setRequestContextAttribute(java.lang.String)
@Nullable protected RequestDataValueProcessor getRequestDataValueProcessor()
RequestDataValueProcessor
を返します。 デフォルトの実装では、REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
という名前の RequestDataValueProcessor
Bean を Spring configuration
で探します。
protected abstract reactor.core.publisher.Mono<java.lang.Void> renderInternal(java.util.Map<java.lang.String,java.lang.Object> renderAttributes, @Nullable MediaType contentType, ServerWebExchange exchange)
renderAttributes
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非 null
)contentType
- レンダリングするために選択されたコンテンツ型。supported media types
のいずれかと一致する必要があります。exchange
- 現在の交換 @return Mono
は、レンダリングが成功した場合と成功した場合を表します public java.lang.String toString()
java.lang.Object
の toString
protected java.lang.String formatViewName()