クラス ModelAndViewContainer

java.lang.ObjectSE
org.springframework.web.method.support.ModelAndViewContainer

public class ModelAndViewContainer extends ObjectSE
コントローラーメソッドの呼び出し中に HandlerMethodArgumentResolversHandlerMethodReturnValueHandlers によって行われたモデルとビュー関連の決定を記録します。

setRequestHandled(boolean) フラグを使用して、リクエストが直接処理され、ビューの解決が不要であることを示すことができます。

デフォルトの Model は、インスタンス化時に自動的に作成されます。代替モデルインスタンスは、リダイレクトシナリオで使用するために setRedirectModel(ModelMap) を介して提供される場合があります。setRedirectModelScenario(boolean) がリダイレクトシナリオを通知する true に設定されている場合、getModel() はデフォルトモデルではなくリダイレクトモデルを返します。

導入:
3.1
作成者:
Rossen Stoyanchev, Juergen Hoeller
  • コンストラクターの詳細

    • ModelAndViewContainer

      public ModelAndViewContainer()
  • メソッドの詳細

    • setViewName

      public void setViewName(@Nullable StringSE viewName)
      ViewResolver を介して DispatcherServlet によって解決されるビュー名を設定します。既存のビュー名またはビューを上書きします。
    • getViewName

      public @Nullable StringSE getViewName()
      ViewResolver を介して DispatcherServlet によって解決されるビュー名を返します。View オブジェクトが設定されている場合は null を返します。
    • setView

      public void setView(@Nullable ObjectSE view)
      DispatcherServlet で使用するビューオブジェクトを設定します。既存のビュー名またはビューを上書きします。
    • getView

      public @Nullable ObjectSE getView()
      View オブジェクト、または ViewResolver を介して DispatcherServlet によって解決されるビュー名を使用している場合は null を返します。
    • isViewReference

      public boolean isViewReference()
      ビューが、ViewResolver を介して DispatcherServlet によって解決される名前を介して指定されたビュー参照であるかどうか。
    • getModel

      public ModelMap getModel()
      使用するモデル、つまり "default" または「リダイレクト」モデルを返します。redirectModelScenario=false またはリダイレクトモデルがない場合(つまり、RedirectAttributes がメソッド引数として宣言されていない場合)と ignoreDefaultModelOnRedirect=false の場合、デフォルトモデルが使用されます。
    • getDefaultModel

      public ModelMap getDefaultModel()
      インスタンス化時に作成された "default" モデルを返します。

      一般的には、代わりに "default" モデル (テンプレートレンダリング) または「リダイレクト」モデル (リダイレクト URL の準備) のいずれかを返す getModel() を使用することをお勧めします。このメソッドの使用は、@SessionAttributes で指定されたモデル属性を保存する場合など、"default" モデルへのアクセスがどうしても必要な高度なケースで必要になることがあります。

      戻り値:
      デフォルトのモデル (非 null)
      導入:
      4.1.4
    • setRedirectModel

      public void setRedirectModel(ModelMap redirectModel)
      リダイレクトシナリオで使用する別のモデルインスタンスを提供します。

      ただし、提供された追加モデルは、setRedirectModelScenario(boolean) が true に設定されて実際のリダイレクトシナリオを通知しない限り使用されません。

    • setRedirectModelScenario

      public void setRedirectModelScenario(boolean redirectModelScenario)
      コントローラーがリダイレクト命令 (たとえば、"redirect:" で始まるビュー名、RedirectView インスタンスなど) を返したかどうか。
    • setStatus

      public void setStatus(@Nullable HttpStatusCode status)
      ビューのレンダリングに使用される ModelAndView で渡される HTTP ステータスを提供します。
      導入:
      4.3
    • getStatus

      public @Nullable HttpStatusCode getStatus()
      設定されている HTTP ステータスがあれば、それを返します。
      導入:
      4.3
    • setBindingDisabled

      public void setBindingDisabled(StringSE attributeName)
      後続の @ModelAttribute 宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。
      パラメーター:
      attributeName - 属性の名前
      導入:
      4.3
    • isBindingDisabled

      public boolean isBindingDisabled(StringSE name)
      指定されたモデル属性のバインディングが無効かどうか。
      導入:
      4.3
    • setBinding

      public void setBinding(StringSE attributeName, boolean enabled)
      @ModelAttribute(binding=true/false) 宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。

      メモ: このフラグは isBindingDisabled(String) によって考慮されますが、ハード setBindingDisabled(String) 宣言は常にそれをオーバーライドします。

      パラメーター:
      attributeName - 属性の名前
      導入:
      4.3.13
    • getSessionStatus

      public SessionStatus getSessionStatus()
      セッション処理が完了したことを通知するために使用できる SessionStatus インスタンスを返します。
    • setRequestHandled

      public void setRequestHandled(boolean requestHandled)
      リクエストがハンドラー内で完全に処理されたかどうか (例: @ResponseBody メソッド)。そのため、ビュー解決は不要です。このフラグは、コントローラーメソッドが ServletResponse または OutputStream 型の引数を宣言するときにも設定できます。

      デフォルト値は false です。

    • isRequestHandled

      public boolean isRequestHandled()
      リクエストがハンドラー内で完全に処理されたかどうか。
    • addAttribute

      public ModelAndViewContainer addAttribute(StringSE name, @Nullable ObjectSE value)
      提供された属性を基本モデルに追加します。getModel().addAttribute(String, Object) のショートカット。
    • addAttribute

      public ModelAndViewContainer addAttribute(ObjectSE value)
      提供された属性を基本モデルに追加します。getModel().addAttribute(Object) のショートカット。
    • addAllAttributes

      public ModelAndViewContainer addAllAttributes(@Nullable MapSE<StringSE,?> attributes)
      すべての属性を基本モデルにコピーします。getModel().addAllAttributes(Map) のショートカット。
    • mergeAttributes

      public ModelAndViewContainer mergeAttributes(@Nullable MapSE<StringSE,?> attributes)
      提供された Map の属性を、同じ名前の既存のオブジェクトを優先してコピーします(つまり、置き換えられません)。getModel().mergeAttributes(Map<String, ?>) のショートカット。
    • removeAttributes

      public ModelAndViewContainer removeAttributes(@Nullable MapSE<StringSE,?> attributes)
      指定された属性をモデルから削除します。
    • containsAttribute

      public boolean containsAttribute(StringSE name)
      基になるモデルに指定された属性名が含まれているかどうか。getModel().containsAttribute(String) のショートカット。
    • toString

      public StringSE toString()
      診断情報を返します。
      オーバーライド:
      クラス ObjectSEtoString