クラス ModelAndViewContainer
java.lang.ObjectSE
org.springframework.web.method.support.ModelAndViewContainer
コントローラーメソッドの呼び出し中に
HandlerMethodArgumentResolvers と HandlerMethodReturnValueHandlers によって行われたモデルとビュー関連の決定を記録します。setRequestHandled(boolean) フラグを使用して、リクエストが直接処理され、ビューの解決が不要であることを示すことができます。
デフォルトの Model は、インスタンス化時に自動的に作成されます。代替モデルインスタンスは、リダイレクトシナリオで使用するために setRedirectModel(ModelMap) を介して提供される場合があります。setRedirectModelScenario(boolean) がリダイレクトシナリオを通知する true に設定されている場合、getModel() はデフォルトモデルではなくリダイレクトモデルを返します。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明addAllAttributes(@Nullable MapSE<StringSE, ?> attributes) すべての属性を基になるモデルにコピーします。addAttribute(ObjectSE value) 提供された属性を基本モデルに追加します。addAttribute(StringSE name, @Nullable ObjectSE value) 提供された属性を基本モデルに追加します。booleancontainsAttribute(StringSE name) 基になるモデルに指定された属性名が含まれているかどうか。インスタンス化時に作成された "default" モデルを返します。getModel()使用するモデル、つまり "default" または「リダイレクト」モデルを返します。セッション処理が完了したことを通知するために使用できるSessionStatusインスタンスを返します。設定されている HTTP ステータスがあれば、それを返します。getView()View オブジェクト、または ViewResolver を介して DispatcherServlet によって解決されるビュー名を使用している場合はnullを返します。ViewResolver を介して DispatcherServlet によって解決されるビュー名を返します。View オブジェクトが設定されている場合はnullを返します。booleanisBindingDisabled(StringSE name) 指定されたモデル属性のバインディングが無効かどうか。booleanリクエストがハンドラー内で完全に処理されたかどうか。booleanビューが、ViewResolver を介して DispatcherServlet によって解決される名前を介して指定されたビュー参照であるかどうか。mergeAttributes(@Nullable MapSE<StringSE, ?> attributes) 提供されたMapの属性を、同じ名前の既存のオブジェクトを優先してコピーします(つまりremoveAttributes(@Nullable MapSE<StringSE, ?> attributes) 指定された属性をモデルから削除します。voidsetBinding(StringSE attributeName, boolean enabled) @ModelAttribute(binding=true/false)宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。voidsetBindingDisabled(StringSE attributeName) 後続の@ModelAttribute宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。voidsetRedirectModel(ModelMap redirectModel) リダイレクトシナリオで使用する別のモデルインスタンスを提供します。voidsetRedirectModelScenario(boolean redirectModelScenario) コントローラーがリダイレクト命令 (たとえば、"redirect:" で始まるビュー名、RedirectView インスタンスなど) を返したかどうか。voidsetRequestHandled(boolean requestHandled) リクエストがハンドラー内で完全に処理されているかどうか (例:@ResponseBodyメソッド)。そのため、ビュー解決は不要です。voidsetStatus(@Nullable HttpStatusCode status) ビューのレンダリングに使用されるModelAndViewで渡される HTTP ステータスを提供します。voidDispatcherServlet で使用するビューオブジェクトを設定します。voidsetViewName(@Nullable StringSE viewName) ViewResolver を介して DispatcherServlet によって解決されるビュー名を設定します。toString()診断情報を返します。
コンストラクターの詳細
ModelAndViewContainer
public ModelAndViewContainer()
メソッドの詳細
setViewName
getViewName
setView
getView
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
setBindingDisabled
後続の@ModelAttribute宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。- パラメーター:
attributeName- 属性の名前- 導入:
- 4.3
isBindingDisabled
setBinding
@ModelAttribute(binding=true/false)宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。メモ: このフラグは
isBindingDisabled(String)によって考慮されますが、ハードsetBindingDisabled(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