アノテーションインターフェース ModelAttribute
@RequestMapping
メソッドを持つコントローラークラスでサポートされます。警告 : データバインディングは、外部クライアントによるアクセスや変更を目的としていないオブジェクトグラフの部分を公開することにより、セキュリティの課題を引き起こす可能性があります。データバインディングの設計と使用は、セキュリティに関して慎重に検討する必要があります。詳細については、リファレンスマニュアルの Spring Web MVC および Spring WebFlux のデータバインディングに関する専用セクションを参照してください。
@ModelAttribute
は、@RequestMapping
メソッドの対応するパラメーターにアノテーションを付けることにより、特定の属性名を使用して、コマンドオブジェクトを Web ビューに公開するために使用できます。
@ModelAttribute
は、コントローラークラスのアクセサーメソッドに @RequestMapping
メソッドでアノテーションを付けることにより、参照データを Web ビューに公開するためにも使用できます。このようなアクセサーメソッドは、@RequestMapping
メソッドがサポートする任意の引数を持つことができ、公開するモデル属性値を返します。
ただし、リクエスト処理の結果が Exception
の場合、モデルのコンテンツの信頼性が低下する可能性があるため、いつでも例外が発生する可能性があるため、参照データおよび他のすべてのモデルコンテンツを Web ビューで使用できないことに注意してください。このため、@ExceptionHandler
メソッドは Model
引数へのアクセスを提供しません。
- 導入:
- 2.5
- 作成者:
- Juergen Hoeller, Rossen Stoyanchev, Sebastien Deleuze
- 関連事項:
オプション要素のサマリー
要素の詳細
value
name()
のエイリアス。- デフォルト:
- ""
name
バインドするモデル属性の名前。デフォルトのモデル属性名は、非修飾クラス名に基づいて、宣言された属性型 (つまり、メソッドパラメーター型またはメソッド戻り値型) から推論されます。たとえば、クラス "mypackage.OrderAddress" の場合は "orderAddress" ,"List<mypackage.OrderAddress>" の場合は "orderAddressList" になります。
- 導入:
- 4.3
- デフォルト:
- ""
binding
boolean binding@ModelAttribute
メソッドパラメーターまたは@ModelAttribute
メソッドから返された属性でデータバインディングを直接無効にできるようにします。どちらも、その属性のデータバインディングを妨げます。デフォルトでは、これはデータバインディングが適用される
true
に設定されます。これをfalse
に設定して、データバインディングを無効にします。- 導入:
- 4.3
- デフォルト:
- true