クラス AbstractView

java.lang.ObjectSE
org.springframework.web.reactive.result.view.AbstractView
実装されたすべてのインターフェース:
AwareBeanNameAwareApplicationContextAwareView
既知の直属サブクラス
AbstractUrlBasedView

public abstract class AbstractView extends ObjectSE implements View, BeanNameAware, ApplicationContextAware
View 実装の基本クラス。
導入:
5.0
作成者:
Rossen Stoyanchev, Sam Brannen
  • フィールドの詳細

    • REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME

      public static final StringSE REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
      Bean ファクトリの RequestDataValueProcessor のよく知られた名前。
      関連事項:
    • logger

      protected final Log logger
      サブクラスで利用可能なロガー。
  • コンストラクターの詳細

    • AbstractView

      public AbstractView()
    • AbstractView

      public AbstractView(ReactiveAdapterRegistry reactiveAdapterRegistry)
  • メソッドの詳細

    • setSupportedMediaTypes

      public void setSupportedMediaTypes(ListSE<MediaType> supportedMediaTypes)
      このビューでサポートされるメディア型を設定します。

      デフォルトは "text/html;charset=UTF-8" です。

    • getSupportedMediaTypes

      public ListSE<MediaType> getSupportedMediaTypes()
      このビューでサポートされている構成済みメディア型を取得します。
      次で指定:
      インターフェース ViewgetSupportedMediaTypes 
    • setDefaultCharset

      public void setDefaultCharset(CharsetSE defaultCharset)
      このビューのデフォルトの文字セットを設定します。コンテンツ型に文字セットが含まれていない場合に使用されます。

      デフォルトは UTF 8SE です。

    • getDefaultCharset

      public CharsetSE getDefaultCharset()
      コンテンツ型に文字セットが含まれていない場合に使用されるデフォルトの文字セットを取得します。
    • setRequestContextAttribute

      public void setRequestContextAttribute(@Nullable StringSE requestContextAttribute)
      このビューの RequestContext 属性の名前を設定します。

      デフォルトはなし(null)です。

    • getRequestContextAttribute

      @Nullable public StringSE getRequestContextAttribute()
      このビューの RequestContext 属性の名前を取得します(ある場合)。
    • setBeanName

      public void setBeanName(@Nullable StringSE beanName)
      ビューの名前を設定します。トレーサビリティに役立ちます。

      フレームワークコードは、ビューを構築するときにこれを呼び出す必要があります。

      次で指定:
      インターフェース BeanNameAwaresetBeanName 
      パラメーター:
      beanName - ファクトリ内の Bean の名前。この名前は、ファクトリで使用される実際の Bean 名であり、最初に指定した名前とは異なる場合があります。特に内部 Bean 名の場合、実際の Bean 名は "#..." サフィックスを追加することで一意になります。必要に応じて、BeanFactoryUtils.originalBeanName(String) メソッドを使用して、元の Bean 名(サフィックスなし)を抽出します。
    • getBeanName

      @Nullable public StringSE getBeanName()
      ビューの名前を取得します。

      ビューが正しく構成されている場合は、null にしないでください。

    • setApplicationContext

      public void setApplicationContext(@Nullable ApplicationContext applicationContext)
      インターフェースからコピーされた説明: ApplicationContextAware
      このオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。

      通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) および MessageSourceAware の後に呼び出されます(該当する場合)。

      次で指定:
      インターフェース ApplicationContextAwaresetApplicationContext 
      パラメーター:
      applicationContext - このオブジェクトによって使用される ApplicationContext オブジェクト
      関連事項:
    • getApplicationContext

      @Nullable public ApplicationContext getApplicationContext()
    • obtainApplicationContext

      protected final ApplicationContext obtainApplicationContext()
      実際に使用するために ApplicationContext を取得します。
      戻り値:
      ApplicationContext (非 null)
      例外:
      IllegalStateExceptionSE - ApplicationContext が入手できない場合
      関連事項:
    • render

      public reactor.core.publisher.Mono<VoidSE> render(@Nullable MapSE<StringSE,?> model, @Nullable MediaType contentType, ServerWebExchange exchange)
      レンダリングするモデルを準備します。
      次で指定:
      インターフェース Viewrender 
      パラメーター:
      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

      @Nullable protected RequestDataValueProcessor getRequestDataValueProcessor()
      使用する RequestDataValueProcessor を取得します。

      デフォルトの実装では、REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME という名前の RequestDataValueProcessor Bean を 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

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • formatViewName

      protected StringSE formatViewName()