@TargetSE(valueSE={PARAMETERSE,METHODSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface ModelAttribute
@RequestMapping
メソッドを持つコントローラークラスでサポートされます。警告 : データバインディングは、外部クライアントによるアクセスや変更を目的としていないオブジェクトグラフの部分を公開することにより、セキュリティの課題を引き起こす可能性があります。データバインディングの設計と使用は、セキュリティに関して慎重に検討する必要があります。詳細については、リファレンスマニュアルの Spring Web MVC および Spring WebFlux のデータバインディングに関する専用セクションを参照してください。
@ModelAttribute
は、@RequestMapping
メソッドの対応するパラメーターにアノテーションを付けることにより、特定の属性名を使用して、コマンドオブジェクトを Web ビューに公開するために使用できます。
@ModelAttribute
は、コントローラークラスのアクセサーメソッドに @RequestMapping
メソッドでアノテーションを付けることにより、参照データを Web ビューに公開するためにも使用できます。このようなアクセサーメソッドは、@RequestMapping
メソッドがサポートする任意の引数を持つことができ、公開するモデル属性値を返します。
ただし、リクエスト処理の結果が Exception
の場合、モデルのコンテンツの信頼性が低下する可能性があるため、いつでも例外が発生する可能性があるため、参照データおよび他のすべてのモデルコンテンツを Web ビューで使用できないことに注意してください。このため、@ExceptionHandler
メソッドは Model
引数へのアクセスを提供しません。
ControllerAdvice