クラス ModelFactory

java.lang.ObjectSE
org.springframework.web.method.annotation.ModelFactory

public final class ModelFactory extends ObjectSE
コントローラーメソッドの呼び出し前の Model の初期化と、呼び出し後の更新の支援。

初期化時に、モデルは一時的にセッションに格納された属性を使用して、@ModelAttribute メソッドの呼び出しを通じて作成されます。

更新時にモデル属性はセッションと同期され、欠落している場合は BindingResult 属性も追加されます。

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

  • メソッドの詳細

    • initModel

      public void initModel(NativeWebRequest request, ModelAndViewContainer container, HandlerMethod handlerMethod) throws ExceptionSE
      次の順序でモデルに入力します。
      1. @SessionAttributes としてリストされている「既知の」セッション属性を取得します。
      2. @ModelAttribute メソッドを呼び出す
      3. @SessionAttributes としてもリストされている @ModelAttribute メソッド引数を見つけ、必要に応じて例外を発生させてモデルに存在することを確認します。
      パラメーター:
      request - 現在のリクエスト
      container - 初期化されるモデルを含むコンテナー
      handlerMethod - モデルが初期化されるメソッド
      例外:
      ExceptionSE - @ModelAttribute メソッドから発生する可能性があります
    • updateModel

      public void updateModel(NativeWebRequest request, ModelAndViewContainer container) throws ExceptionSE
      @SessionAttributes としてリストされているモデル属性をセッションにプロモートします。必要に応じて BindingResult 属性を追加します。
      パラメーター:
      request - 現在のリクエスト
      container - 更新するモデルが含まれています
      例外:
      ExceptionSE - BindingResult 属性の作成に失敗した場合
    • getNameForParameter

      public static StringSE getNameForParameter(MethodParameter parameter)
      @ModelAttribute パラメーターアノテーション(存在する場合)に基づいて、またはパラメーター型ベースの規則に基づいて、指定されたメソッドパラメーターのモデル属性名を導出します。
      パラメーター:
      parameter - メソッドパラメーターの記述子
      戻り値:
      派生名
      関連事項:
    • getNameForReturnValue

      public static StringSE getNameForReturnValue(@Nullable ObjectSE returnValue, MethodParameter returnType)
      指定された戻り値のモデル属性名を導出します。結果は以下に基づきます:
      1. メソッド ModelAttribute アノテーション値
      2. Object よりも具体的な場合は、宣言された戻りの型
      3. 実際の戻り値の型
      パラメーター:
      returnValue - メソッド呼び出しから返される値
      returnType - メソッドの戻り値の型の記述子
      戻り値:
      派生名 (決して null または空の文字列)