public class RedirectView extends AbstractUrlBasedView
デフォルトでは HttpStatus.SEE_OTHER
が使用されますが、代替ステータスコードはコンストラクターまたは setter 引数を介する場合があります。
logger, REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
BINDING_CONTEXT_ATTRIBUTE
コンストラクターと説明 |
---|
RedirectView() Bean として使用するコンストラクター。 |
RedirectView(StringSE redirectUrl) 指定されたリダイレクト URL で新しい RedirectView を作成します。 |
RedirectView(StringSE redirectUrl, HttpStatus statusCode) 指定された URL と HttpStatus.TEMPORARY_REDIRECT や HttpStatus.PERMANENT_REDIRECT などの代替リダイレクトステータスコードを使用して、新しい RedirectView を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() |
protected StringBuilderSE | appendCurrentRequestQuery(StringSE targetUrl, ServerHttpRequest request) 現在のリクエストのクエリをターゲットリダイレクト URL に追加します。 |
boolean | checkResourceExists(LocaleSE locale) 設定した URL のリソースが実際に存在するか確認してください。 |
protected 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() 設定されたアプリケーションホストを返します。 |
HttpStatus | getStatusCode() 使用するリダイレクトステータスコードを取得します。 |
boolean | isContextRelative() URL を現在のコンテキストパスに対する相対パスとして解釈するかどうか。 |
boolean | isPropagateQuery() 現在の URL のクエリ文字列がリダイレクト URL に追加されるかどうか。 |
boolean | isRedirectView() このビューがリダイレクトを実行してレンダリングを行うかどうか。 |
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 | setHosts(StringSE... hosts) アプリケーションに関連付けられた 1 つ以上のホストを構成します。 |
void | setPropagateQuery(boolean propagateQuery) 現在の URL のクエリ文字列をリダイレクト URL に追加するか( true )、否か(false 、デフォルト)。 |
void | setStatusCode(HttpStatus statusCode) HttpStatus.TEMPORARY_REDIRECT や HttpStatus.PERMANENT_REDIRECT などの代替リダイレクトステータスコードを設定します。 |
getUrl, setUrl, toString
createRequestContext, formatViewName, getApplicationContext, getBeanName, getDefaultCharset, getModelAttributes, getRequestContextAttribute, getRequestDataValueProcessor, getSupportedMediaTypes, obtainApplicationContext, render, resolveAsyncAttributes, resolveAsyncAttributes, setApplicationContext, setBeanName, setDefaultCharset, setRequestContextAttribute, setSupportedMediaTypes
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public RedirectView()
public RedirectView(StringSE redirectUrl)
RedirectView
を作成します。デフォルトでは、ステータスコード HttpStatus.SEE_OTHER
が使用されます。public RedirectView(StringSE redirectUrl, HttpStatus statusCode)
HttpStatus.TEMPORARY_REDIRECT
や HttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを使用して、新しい RedirectView
を作成します。public void setStatusCode(HttpStatus statusCode)
HttpStatus.TEMPORARY_REDIRECT
や HttpStatus.PERMANENT_REDIRECT
などの代替リダイレクトステータスコードを設定します。public HttpStatus getStatusCode()
public void setContextRelative(boolean contextRelative)
true
、デフォルト)または Web サーバールート(false
)からの相対パスとして解釈するかどうか。public boolean isContextRelative()
public void setPropagateQuery(boolean propagateQuery)
true
)、否か(false
、デフォルト)。public boolean isPropagateQuery()
public void setHosts(@Nullable StringSE... hosts)
実際、これにより、ホストがあり、そのホストが既知のホストとしてリストされていない URL のエンコーディングをオフにする方法が提供されます。
設定しない場合(デフォルト)、すべてのリダイレクト URL がエンコードされます。
hosts
- 1 つ以上のアプリケーションホスト public void afterPropertiesSet() throws ExceptionSE
InitializingBean
BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含 BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
InitializingBean
の afterPropertiesSet
AbstractUrlBasedView
の afterPropertiesSet
ExceptionSE
- 構成の誤り(必須プロパティの設定の失敗など)の場合、またはその他の理由で初期化が失敗した場合 public boolean isRedirectView()
View
public boolean checkResourceExists(LocaleSE locale) throws ExceptionSE
AbstractUrlBasedView
AbstractUrlBasedView
の checkResourceExists
locale
- 探している希望のロケール false
、存在しないことがわかっている場合は false
ExceptionSE
- リソースは存在するが無効である場合 (たとえば解析できませんでした)protected reactor.core.publisher.Mono<VoidSE> renderInternal(MapSE<StringSE,ObjectSE> model, @Nullable MediaType contentType, ServerWebExchange exchange)
AbstractView
の renderInternal
model
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非 null
)contentType
- レンダリングするために選択されたコンテンツ型。supported media types
のいずれかと一致する必要があります。exchange
- 現在の交換 @return Mono
は、レンダリングが成功した場合と成功した場合を表します protected final StringSE createTargetUrl(MapSE<StringSE,ObjectSE> model, ServerWebExchange exchange)
RequestDataValueProcessor
を適用します。protected StringBuilderSE expandTargetUrlTemplate(StringSE targetUrl, MapSE<StringSE,ObjectSE> model, MapSE<StringSE,StringSE> uriVariables)
protected StringBuilderSE appendCurrentRequestQuery(StringSE targetUrl, ServerHttpRequest request)
protected reactor.core.publisher.Mono<VoidSE> sendRedirect(StringSE targetUrl, ServerWebExchange exchange)
targetUrl
- リダイレクトするターゲット URLexchange
- 現在の交換 protected boolean isRemoteHost(StringSE targetUrl)
HttpServletResponse.encodeRedirectURL(java.lang.String)
EE は適用されません。setHosts(String[])
プロパティが構成され、ターゲット URL に一致しないホストがある場合、このメソッドは true
を返します。targetUrl
- ターゲットのリダイレクト URLtrue
ターゲット URL にはリモートホストがあり、false
(URL にホストがない場合、「ホスト」プロパティが構成されていない場合)。