クラス ModelAndViewContainer

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

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

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

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

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

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    すべての属性を基になるモデルにコピーします。
    提供された属性を基本モデルに追加します。
    提供された属性を基本モデルに追加します。
    boolean
    基になるモデルに指定された属性名が含まれているかどうか。
    インスタンス化時に作成された "default" モデルを返します。
    使用するモデル、つまり "default" または「リダイレクト」モデルを返します。
    セッション処理が完了したことを通知するために使用できる SessionStatus インスタンスを返します。
    設定されている HTTP ステータスがあれば、それを返します。
    View オブジェクト、または ViewResolver を介して DispatcherServlet によって解決されるビュー名を使用している場合は null を返します。
    ViewResolver を介して DispatcherServlet によって解決されるビュー名を返します。View オブジェクトが設定されている場合は null を返します。
    boolean
    指定されたモデル属性のバインディングが無効かどうか。
    boolean
    リクエストがハンドラー内で完全に処理されたかどうか。
    boolean
    ビューが、ViewResolver を介して DispatcherServlet によって解決される名前を介して指定されたビュー参照であるかどうか。
    提供された Map の属性を、同じ名前の既存のオブジェクトを優先してコピーします(つまり
    指定された属性をモデルから削除します。
    void
    setBinding(StringSE attributeName, boolean enabled)
    @ModelAttribute(binding=true/false) 宣言に対応する、対応するモデル属性に対してデータバインディングが発生するかどうかを登録します。
    void
    後続の @ModelAttribute 宣言であっても、データバインディングが発生してはならない属性をプログラムで登録します。
    void
    setIgnoreDefaultModelOnRedirect(boolean ignoreDefaultModelOnRedirect)
    使用すべきではありません。
    6.0 の時点で代替なし。削除すると、デフォルトのモデルはリダイレクト時に常に無視されます
    void
    setRedirectModel(ModelMap redirectModel)
    リダイレクトシナリオで使用する別のモデルインスタンスを提供します。
    void
    setRedirectModelScenario(boolean redirectModelScenario)
    コントローラーがリダイレクト命令を返したかどうか。
    void
    setRequestHandled(boolean requestHandled)
    リクエストがハンドラー内で完全に処理されたかどうか。
    void
    ビューのレンダリングに使用される ModelAndView で渡される HTTP ステータスを提供します。
    void
    DispatcherServlet で使用するビューオブジェクトを設定します。
    void
    ViewResolver を介して DispatcherServlet によって解決されるビュー名を設定します。
    診断情報を返します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • 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

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

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

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

      @Nullable public 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() を使用することをお勧めします。この方法は、"default" モデルへのアクセスが必要な高度なケースで必要になる場合があります。@SessionAttributes で指定されたモデル属性を保存します。

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

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

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

    • setRedirectModelScenario

      public void setRedirectModelScenario(boolean redirectModelScenario)
      コントローラーがリダイレクト命令を返したかどうか。「リダイレクト:」接頭辞付きのビュー名、RedirectView インスタンスなど
    • setStatus

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

      @Nullable public 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(java.lang.String) によって考慮されますが、ハード setBindingDisabled(java.lang.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