クラス ModelAndViewContainer
HandlerMethodArgumentResolvers
と HandlerMethodReturnValueHandlers
によって行われたモデルとビュー関連の決定を記録します。setRequestHandled(boolean)
フラグを使用して、リクエストが直接処理され、ビューの解決が不要であることを示すことができます。
デフォルトの Model
は、インスタンス化時に自動的に作成されます。代替モデルインスタンスは、リダイレクトシナリオで使用するために setRedirectModel(org.springframework.ui.ModelMap)
を介して提供される場合があります。setRedirectModelScenario(boolean)
がリダイレクトシナリオを通知する true
に設定されている場合、getModel()
はデフォルトモデルではなくリダイレクトモデルを返します。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明addAllAttributes
(MapSE<StringSE, ?> attributes) すべての属性を基になるモデルにコピーします。addAttribute
(ObjectSE value) 提供された属性を基本モデルに追加します。addAttribute
(StringSE name, ObjectSE value) 提供された属性を基本モデルに追加します。boolean
containsAttribute
(StringSE name) 基になるモデルに指定された属性名が含まれているかどうか。インスタンス化時に作成された "default" モデルを返します。getModel()
使用するモデル、つまり "default" または「リダイレクト」モデルを返します。セッション処理が完了したことを通知するために使用できるSessionStatus
インスタンスを返します。設定されている HTTP ステータスがあれば、それを返します。getView()
View オブジェクト、または ViewResolver を介して DispatcherServlet によって解決されるビュー名を使用している場合はnull
を返します。ViewResolver を介して DispatcherServlet によって解決されるビュー名を返します。View オブジェクトが設定されている場合はnull
を返します。boolean
isBindingDisabled
(StringSE name) 指定されたモデル属性のバインディングが無効かどうか。boolean
リクエストがハンドラー内で完全に処理されたかどうか。boolean
ビューが、ViewResolver を介して DispatcherServlet によって解決される名前を介して指定されたビュー参照であるかどうか。mergeAttributes
(MapSE<StringSE, ?> attributes) 提供されたMap
の属性を、同じ名前の既存のオブジェクトを優先してコピーします(つまりremoveAttributes
(MapSE<StringSE, ?> attributes) 指定された属性をモデルから削除します。void
setBinding
(StringSE attributeName, boolean enabled) @ModelAttribute(binding=true/false)
宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。void
setBindingDisabled
(StringSE attributeName) 後続の@ModelAttribute
宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。void
setIgnoreDefaultModelOnRedirect
(boolean ignoreDefaultModelOnRedirect) 使用すべきではありません。6.0 の時点で代替なし。削除すると、デフォルトのモデルはリダイレクト時に常に無視されますvoid
setRedirectModel
(ModelMap redirectModel) リダイレクトシナリオで使用する別のモデルインスタンスを提供します。void
setRedirectModelScenario
(boolean redirectModelScenario) コントローラーがリダイレクト命令 (たとえば、"redirect:" で始まるビュー名、RedirectView インスタンスなど) を返したかどうか。void
setRequestHandled
(boolean requestHandled) リクエストがハンドラー内で完全に処理されているかどうか (例:@ResponseBody
メソッド)。そのため、ビュー解決は不要です。void
setStatus
(HttpStatusCode status) ビューのレンダリングに使用されるModelAndView
で渡される HTTP ステータスを提供します。void
DispatcherServlet で使用するビューオブジェクトを設定します。void
setViewName
(StringSE viewName) ViewResolver を介して DispatcherServlet によって解決されるビュー名を設定します。toString()
診断情報を返します。
コンストラクターの詳細
ModelAndViewContainer
public ModelAndViewContainer()
メソッドの詳細
setIgnoreDefaultModelOnRedirect
@DeprecatedSE(since="6.0") public void setIgnoreDefaultModelOnRedirect(boolean ignoreDefaultModelOnRedirect) 使用すべきではありません。6.0 の時点で代替なし。削除すると、デフォルトのモデルはリダイレクト時に常に無視されますデフォルトでは、"default" モデルのコンテンツは、レンダリングとリダイレクトの両方のシナリオで使用されます。または、コントローラーメソッドでRedirectAttributes
型の引数を宣言し、それを使用してリダイレクト URL を準備するための属性を提供することもできます。このフラグを
true
に設定すると、RedirectAttributes 引数が宣言されていなくても、"default" モデルがリダイレクトシナリオで使用されないことが保証されます。false
に設定すると、コントローラーメソッドが RedirectAttributes 引数を宣言しない場合、"default" モデルがリダイレクトで使用される可能性があります。6.0 の時点で、このプロパティはデフォルトで
true
に設定されています。setViewName
ViewResolver を介して DispatcherServlet によって解決されるビュー名を設定します。既存のビュー名またはビューを上書きします。getViewName
ViewResolver を介して DispatcherServlet によって解決されるビュー名を返します。View オブジェクトが設定されている場合はnull
を返します。setView
DispatcherServlet で使用するビューオブジェクトを設定します。既存のビュー名またはビューを上書きします。getView
View オブジェクト、または ViewResolver を介して DispatcherServlet によって解決されるビュー名を使用している場合はnull
を返します。isViewReference
public boolean isViewReference()ビューが、ViewResolver を介して DispatcherServlet によって解決される名前を介して指定されたビュー参照であるかどうか。getModel
使用するモデル、つまり "default" または「リダイレクト」モデルを返します。redirectModelScenario=false
またはリダイレクトモデルがない場合(つまり、RedirectAttributes がメソッド引数として宣言されていない場合)とignoreDefaultModelOnRedirect=false
の場合、デフォルトモデルが使用されます。getDefaultModel
インスタンス化時に作成された "default" モデルを返します。一般的には、代わりに "default" モデル (テンプレートレンダリング) または「リダイレクト」モデル (リダイレクト URL の準備) のいずれかを返す
getModel()
を使用することをお勧めします。このメソッドの使用は、@SessionAttributes
で指定されたモデル属性を保存する場合など、"default" モデルへのアクセスがどうしても必要な高度なケースで必要になることがあります。- 戻り値:
- デフォルトのモデル (非
null
) - 導入:
- 4.1.4
setRedirectModel
リダイレクトシナリオで使用する別のモデルインスタンスを提供します。ただし、提供された追加モデルは、
setRedirectModelScenario(boolean)
がtrue
に設定されて実際のリダイレクトシナリオを通知しない限り使用されません。setRedirectModelScenario
public void setRedirectModelScenario(boolean redirectModelScenario) コントローラーがリダイレクト命令 (たとえば、"redirect:" で始まるビュー名、RedirectView インスタンスなど) を返したかどうか。setStatus
ビューのレンダリングに使用されるModelAndView
で渡される HTTP ステータスを提供します。- 導入:
- 4.3
getStatus
設定されている HTTP ステータスがあれば、それを返します。- 導入:
- 4.3
setBindingDisabled
後続の@ModelAttribute
宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。- パラメーター:
attributeName
- 属性の名前- 導入:
- 4.3
isBindingDisabled
指定されたモデル属性のバインディングが無効かどうか。- 導入:
- 4.3
setBinding
@ModelAttribute(binding=true/false)
宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。メモ: このフラグは
isBindingDisabled(java.lang.String)
によって考慮されますが、ハードsetBindingDisabled(java.lang.String)
宣言は常にそれをオーバーライドします。- パラメーター:
attributeName
- 属性の名前- 導入:
- 4.3.13
getSessionStatus
セッション処理が完了したことを通知するために使用できるSessionStatus
インスタンスを返します。setRequestHandled
public void setRequestHandled(boolean requestHandled) リクエストがハンドラー内で完全に処理されたかどうか (例:@ResponseBody
メソッド)。そのため、ビュー解決は不要です。このフラグは、コントローラーメソッドがServletResponse
またはOutputStream
型の引数を宣言するときにも設定できます。デフォルト値は
false
です。isRequestHandled
public boolean isRequestHandled()リクエストがハンドラー内で完全に処理されたかどうか。addAttribute
提供された属性を基本モデルに追加します。getModel().addAttribute(String, Object)
のショートカット。addAttribute
提供された属性を基本モデルに追加します。getModel().addAttribute(Object)
のショートカット。addAllAttributes
すべての属性を基本モデルにコピーします。getModel().addAllAttributes(Map)
のショートカット。mergeAttributes
提供されたMap
の属性を、同じ名前の既存のオブジェクトを優先してコピーします(つまり、置き換えられません)。getModel().mergeAttributes(Map<String, ?>)
のショートカット。removeAttributes
指定された属性をモデルから削除します。containsAttribute
基になるモデルに指定された属性名が含まれているかどうか。getModel().containsAttribute(String)
のショートカット。toString
診断情報を返します。