クラス RedirectView
java.lang.ObjectSE
org.springframework.web.reactive.result.view.AbstractView
org.springframework.web.reactive.result.view.AbstractUrlBasedView
org.springframework.web.reactive.result.view.RedirectView
- 実装されたすべてのインターフェース:
Aware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、View
絶対 URL またはコンテキスト相対 URL にリダイレクトするビュー。URL は、URI テンプレートである場合があります。この場合、URI テンプレート変数は、モデルの値または現在のリクエストの URI 変数で置き換えられます。
デフォルトでは HttpStatus.SEE_OTHER
が使用されますが、コンストラクターまたは setter 引数を介して代替状況コードを指定できます。
- 導入:
- 5.0
- 作成者:
- Sebastien Deleuze, Rossen Stoyanchev
フィールドサマリー
クラス org.springframework.web.reactive.result.view.AbstractView から継承されたフィールド
logger, REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
インターフェース org.springframework.web.reactive.result.view.View から継承されたフィールド
BINDING_CONTEXT_ATTRIBUTE
コンストラクターのサマリー
コンストラクター説明Bean として使用するコンストラクター。RedirectView
(StringSE redirectUrl) 指定されたリダイレクト URL で新しいRedirectView
を作成します。RedirectView
(StringSE redirectUrl, HttpStatusCode statusCode) 指定された URL とHttpStatus.TEMPORARY_REDIRECT
やHttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを使用して、新しいRedirectView
を作成します。方法の概要
修飾子と型メソッド説明protected StringBuilderSE
appendCurrentRequestQuery
(StringSE targetUrl, ServerHttpRequest request) 現在のリクエストのクエリをターゲットリダイレクト URL に追加します。boolean
checkResourceExists
(LocaleSE locale) 設定した URL のリソースが実際に存在するか確認してください。protected final StringSE
createTargetUrl
(MapSE<StringSE, ObjectSE> model, ServerWebExchange exchange) ターゲット URL を作成し、必要に応じて contextPath を先頭に追加し、URI テンプレート変数を展開し、現在のリクエストクエリを追加して、構成されたRequestDataValueProcessor
を適用します。protected StringBuilderSE
expandTargetUrlTemplate
(StringSE targetUrl, MapSE<StringSE, ObjectSE> model, MapSE<StringSE, StringSE> uriVariables) モデル属性値を使用するか、現在のリクエストからの URI 変数値を使用したフォールバックとして、ターゲット URL の URI テンプレート変数を展開します。StringSE[]
getHosts()
設定されたアプリケーションホストを返します。使用するリダイレクトステータスコードを取得します。boolean
URL を現在のコンテキストパスに対する相対パスとして解釈するかどうか。boolean
現在の URL のクエリ文字列がリダイレクト URL に追加されるかどうか。boolean
このビューがリダイレクトを実行してレンダリングするかどうか。protected boolean
isRemoteHost
(StringSE targetUrl) 指定された targetUrl に「外部」システムのホストがあるかどうか。その場合、HttpServletResponse.encodeRedirectURL(java.lang.String)
EE は適用されません。protected reactor.core.publisher.Mono<VoidSE>
renderInternal
(MapSE<StringSE, ObjectSE> model, MediaType contentType, ServerWebExchange exchange) モデルをリクエストパラメーターに変換し、指定された URL にリダイレクトします。protected reactor.core.publisher.Mono<VoidSE>
sendRedirect
(StringSE targetUrl, ServerWebExchange exchange) HTTP クライアントにリダイレクトを送り返します。void
setContextRelative
(boolean contextRelative) スラッシュ("/")で始まる特定のリダイレクト URL を、現在のコンテキストパス(true
、デフォルト)を基準として解釈するか、Web サーバールート(false
)を基準として解釈するか。void
アプリケーションに関連付けられた 1 つ以上のホストを構成します。void
setPropagateQuery
(boolean propagateQuery) 現在の URL のクエリ文字列をリダイレクト URL に追加するか(true
)、否か(false
、デフォルト)。void
setStatusCode
(HttpStatusCode statusCode) HttpStatus.TEMPORARY_REDIRECT
やHttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを設定します。クラス org.springframework.web.reactive.result.view.AbstractUrlBasedView から継承されたメソッド
afterPropertiesSet, getUrl, resourceExists, setUrl, toString
クラス org.springframework.web.reactive.result.view.AbstractView から継承されたメソッド
createRequestContext, formatViewName, getApplicationContext, getBeanName, getDefaultCharset, getModelAttributes, getRequestContextAttribute, getRequestDataValueProcessor, getSupportedMediaTypes, obtainApplicationContext, render, resolveAsyncAttributes, setApplicationContext, setBeanName, setDefaultCharset, setRequestContextAttribute, setSupportedMediaTypes
コンストラクターの詳細
RedirectView
public RedirectView()Bean として使用するコンストラクター。RedirectView
指定されたリダイレクト URL で新しいRedirectView
を作成します。デフォルトでは、ステータスコード
HttpStatus.SEE_OTHER
が使用されます。RedirectView
指定された URL とHttpStatus.TEMPORARY_REDIRECT
やHttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを使用して、新しいRedirectView
を作成します。
メソッドの詳細
setStatusCode
HttpStatus.TEMPORARY_REDIRECT
やHttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを設定します。getStatusCode
使用するリダイレクトステータスコードを取得します。setContextRelative
public void setContextRelative(boolean contextRelative) スラッシュ("/")で始まる特定のリダイレクト URL を、現在のコンテキストパス(true
、デフォルト)を基準として解釈するか、Web サーバールート(false
)を基準として解釈するか。isContextRelative
public boolean isContextRelative()URL を現在のコンテキストパスに対する相対パスとして解釈するかどうか。setPropagateQuery
public void setPropagateQuery(boolean propagateQuery) 現在の URL のクエリ文字列をリダイレクト URL に追加するか(true
)、否か(false
、デフォルト)。isPropagateQuery
public boolean isPropagateQuery()現在の URL のクエリ文字列がリダイレクト URL に追加されるかどうか。setHosts
アプリケーションに関連付けられた 1 つ以上のホストを構成します。他のすべてのホストは外部ホストと見なされます。
実際、これにより、ホストがあり、そのホストが既知のホストとしてリストされていない URL のエンコーディングをオフにする方法が提供されます。
設定しない場合(デフォルト)、すべてのリダイレクト URL がエンコードされます。
- パラメーター:
hosts
- 1 つ以上のアプリケーションホスト
getHosts
設定されたアプリケーションホストを返します。isRedirectView
public boolean isRedirectView()インターフェースからコピーされた説明:View
このビューがリダイレクトを実行してレンダリングするかどうか。checkResourceExists
クラスからコピーされた説明:AbstractUrlBasedView
設定した URL のリソースが実際に存在するか確認してください。- 次で指定:
- クラス
AbstractUrlBasedView
のcheckResourceExists
- パラメーター:
locale
- 探している希望のロケール- 戻り値:
- リソースが存在する場合は
false
、存在しないことがわかっている場合はfalse
- 例外:
ExceptionSE
- リソースは存在するが無効である場合 (たとえば、解析できなかった)
renderInternal
protected reactor.core.publisher.Mono<VoidSE> renderInternal(MapSE<StringSE, ObjectSE> model, @Nullable MediaType contentType, ServerWebExchange exchange) モデルをリクエストパラメーターに変換し、指定された URL にリダイレクトします。- 次で指定:
- クラス
AbstractView
のrenderInternal
- パラメーター:
model
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非null
)contentType
- レンダリングするために選択されたコンテンツ型。サポートされているメディア型のいずれかと一致する必要がありますexchange
- 現在の交換- 戻り値:
- レンダリングが成功したときと成功したかどうかを表す
Mono
createTargetUrl
protected final StringSE createTargetUrl(MapSE<StringSE, ObjectSE> model, ServerWebExchange exchange) ターゲット URL を作成し、必要に応じて contextPath を先頭に追加し、URI テンプレート変数を展開し、現在のリクエストクエリを追加して、構成されたRequestDataValueProcessor
を適用します。expandTargetUrlTemplate
protected StringBuilderSE expandTargetUrlTemplate(StringSE targetUrl, MapSE<StringSE, ObjectSE> model, MapSE<StringSE, StringSE> uriVariables) モデル属性値を使用するか、現在のリクエストからの URI 変数値を使用したフォールバックとして、ターゲット URL の URI テンプレート変数を展開します。値はエンコードされます。appendCurrentRequestQuery
現在のリクエストのクエリをターゲットリダイレクト URL に追加します。sendRedirect
protected reactor.core.publisher.Mono<VoidSE> sendRedirect(StringSE targetUrl, ServerWebExchange exchange) HTTP クライアントにリダイレクトを送り返します。- パラメーター:
targetUrl
- リダイレクトするターゲット URLexchange
- 現在の交換
isRemoteHost
指定された targetUrl に「外部」システムのホストがあるかどうか。その場合、HttpServletResponse.encodeRedirectURL(java.lang.String)
EE は適用されません。このメソッドは、
setHosts(String[])
プロパティが構成されていて、ターゲット URL に一致しないホストがある場合にtrue
を返します。- パラメーター:
targetUrl
- ターゲットのリダイレクト URL- 戻り値:
- ターゲット URL にリモートホストがある場合は
true
、URL にホストがない場合または "host" プロパティが構成されていない場合はfalse