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, waitSEpublic 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 または空の文字列)