|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@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() { } }
RequestParameter
,
RequestParameterBindingType
任意要素の概要 | |
---|---|
RequestParameterBindingType |
bindingType
要求パラメータからフォームオブジェクトへのバインディング方法を指定します。 |
String |
value
バインディングするオブジェクトのプロパティ名。 |
public abstract String value
"this" が指定された場合は、アクションクラス自身に要求パラメータがバインディングされることを表します。
public abstract RequestParameterBindingType bindingType
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |