|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@Retention(value=RUNTIME) @Target(value={METHOD,TYPE}) public @interface Form
アクションメソッド呼び出し時にリクエストパラメータがバインドされるオブジェクトや方法を指定します。
この注釈によって、どのようにリクエストパラメータがバインドされるかが変わります。
import static org.seasar.cubby.action.RequestParameterBindingType.*; public class FooAction { // コンテナの機能によって自動的にインジェクションされる想定です。 public BarDto barDto; // -> アクション(FooAction)の @RequestParameter で修飾されたプロパティにバインドします。 // よく使用するパターンです。 public ActionResult m01() { } // -> アクション(FooAction)の @RequestParameter で修飾されたプロパティにバインドします。 @Form(bindingType = ONLY_SPECIFIED_PROPERTIES) public ActionResult m02() { } // -> アクション(FooAction)の全プロパティにバインドします。 @Form(bindingType = ALL_PROPERTIES) public ActionResult m03() { } // リクエストパラメータを barDto の全プロパティにバインドします。 // よく使用するパターンです。 @Form("barDto") public ActionResult m11() { } // リクエストパラメータを barDto の @RequestParameter で修飾されたプロパティにバインドします。 @Form("barDto" bindingType = ONLY_SPECIFIED_PROPERTIES) public ActionResult m12() { } // リクエストパラメータを barDto の全プロパティにバインドします。 @Form(value = "barDto", bindingType = ALL_PROPERTIES) public ActionResult m13() { } // リクエストパラメータをバインドしません。 @Form(bindingType = NONE) public ActionResult m21() { } }
クラスとメソッドの両方に注釈をつけた場合は、メソッドの注釈が優先されます。
@Form("barDto") // 全アクションメソッドに対して一括でバインディングの指定を行います。 public class Foo2Action { public BarDto barDto; public BazDto bazDto; // リクエストパラメータを barDto のプロパティにバインドします (クラスでの指定が有効なため)。 public ActionResult m01() { } @Form("bazDto") // リクエストパラメータを bazDto のプロパティにバインドします(アクションメソッドでの指定が優先されるため)。 public ActionResult m02() { } }
このアノテーションをつけない場合の挙動が 1.0.x と 1.1.x で異なるのでご注意ください。
バージョン | バインド対象のオブジェクト | バインド対象のプロパティ |
---|---|---|
1.0.x | アクション | すべてのプロパティ |
1.1.x | アクション | @RequestParameter で修飾されたプロパティ |
RequestParameter
,
RequestParameterBindingType
任意要素の概要 | |
---|---|
boolean |
binding
推奨されていません。 RequestParameterBindingType.NONE を使用するようにしてください。 |
RequestParameterBindingType |
bindingType
リクエストパラメータからフォームオブジェクトへのバインディング方法を指定します。 |
String |
value
バインディングするオブジェクトのプロパティ名。 |
public abstract String value
"this" が指定された場合は、アクションクラス自身にリクエストパラメータがバインディングされることを表します。
@Deprecated public abstract boolean binding
RequestParameterBindingType.NONE
を使用するようにしてください。
false
が指定された場合はフォームオブジェクトへのバインディングを行いません。
public abstract RequestParameterBindingType bindingType
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |