public final class ModelFactory extends ObjectSE
Model
の初期化と、呼び出し後の更新の支援。 初期化時に、モデルは一時的にセッションに格納された属性を使用して、@ModelAttribute
メソッドの呼び出しを通じて作成されます。
更新時にモデル属性はセッションと同期され、欠落している場合は BindingResult
属性も追加されます。
コンストラクターと説明 |
---|
ModelFactory(ListSE<InvocableHandlerMethod> handlerMethods, WebDataBinderFactory binderFactory, SessionAttributesHandler attributeHandler) 指定された @ModelAttribute メソッドで新しいインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
static StringSE | getNameForParameter(MethodParameter parameter) @ModelAttribute パラメーターアノテーション(存在する場合)に基づいて、またはパラメーター型ベースの規則に基づいて、指定されたメソッドパラメーターのモデル属性名を導出します。 |
static StringSE | getNameForReturnValue(ObjectSE returnValue, MethodParameter returnType) 指定された戻り値のモデル属性名を導出します。 |
void | initModel(NativeWebRequest request, ModelAndViewContainer container, HandlerMethod handlerMethod) 次の順序でモデルを設定します。 @SessionAttributes としてリストされている「既知の」セッション属性を取得します。 |
void | updateModel(NativeWebRequest request, ModelAndViewContainer container) @SessionAttributes としてリストされているモデル属性をセッションにプロモートします。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ModelFactory(@Nullable ListSE<InvocableHandlerMethod> handlerMethods, WebDataBinderFactory binderFactory, SessionAttributesHandler attributeHandler)
@ModelAttribute
メソッドで新しいインスタンスを作成します。handlerMethods
- 呼び出す @ModelAttribute
メソッド binderFactory
- BindingResult
属性の準備用 attributeHandler
- セッション属性へのアクセス用 public void initModel(NativeWebRequest request, ModelAndViewContainer container, HandlerMethod handlerMethod) throws ExceptionSE
@SessionAttributes
としてリストされている「既知の」セッション属性を取得します。@ModelAttribute
メソッドを呼び出す @SessionAttributes
としてもリストされている @ModelAttribute
メソッド引数を見つけ、必要に応じて例外を発生させてモデルに存在することを確認します。request
- 現在のリクエスト container
- 初期化されるモデルを含むコンテナー handlerMethod
- モデルが初期化されるメソッド ExceptionSE
- @ModelAttribute
メソッドから発生する可能性があります public void updateModel(NativeWebRequest request, ModelAndViewContainer container) throws ExceptionSE
@SessionAttributes
としてリストされているモデル属性をセッションにプロモートします。必要に応じて BindingResult
属性を追加します。request
- 現在のリクエスト container
- 更新するモデルが含まれています ExceptionSE
- BindingResult 属性の作成に失敗した場合 public static StringSE getNameForParameter(MethodParameter parameter)
@ModelAttribute
パラメーターアノテーション(存在する場合)に基づいて、またはパラメーター型ベースの規則に基づいて、指定されたメソッドパラメーターのモデル属性名を導出します。parameter
- メソッドパラメーターの記述子 Conventions.getVariableNameForParameter(MethodParameter)
public static StringSE getNameForReturnValue(@Nullable ObjectSE returnValue, MethodParameter returnType)
ModelAttribute
アノテーション値 Object
よりも具体的な場合は、宣言された戻りの型returnValue
- メソッド呼び出しから返される値 returnType
- メソッドの戻り値の型の記述子 null
または空の文字列)