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