つまり、モデルから既存のオブジェクト(ほとんどの場合いくつかのSessionAttributes)を取得するための優れた方法だけが必要です。
新しいオブジェクトを作成したくないし、特にオブジェクトがリクエストパラメータからインスタンス化されてモデルに入れられたくない。これは私にとっては裏口のように聞こえます。
モデルに一致するパラメーターがない場合に例外をスローできると便利です。
つまり、モデルから既存のオブジェクト(ほとんどの場合いくつかのSessionAttributes)を取得するための優れた方法だけが必要です。
新しいオブジェクトを作成したくないし、特にオブジェクトがリクエストパラメータからインスタンス化されてモデルに入れられたくない。これは私にとっては裏口のように聞こえます。
モデルに一致するパラメーターがない場合に例外をスローできると便利です。
ソースコードを読んで、これに対する答えを得ました。の実装によるとorg.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveModelAttribute
、モデル属性の名前が @SessionAttributes アノテーションを使用してセッション属性として宣言されている場合、新しいバインド オブジェクトは作成されません。
属性がセッションに存在しない場合、例外がスローされます。
したがって、この方法でセッション属性をバインドすることは比較的安全です。