概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 必須 | オプション | 詳細: 要素

## org.seasar.cubby.action
注釈型 Form

    @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() {
            }
     }

作成者:
  agata
関連項目:
  `RequestParameter`, `RequestParameterBindingType`

任意要素の概要
`RequestParameterBindingType` | `bindingType` 要求パラメータからフォームオブジェクトへのバインディング方法を指定します。
`String` | `value` バインディングするオブジェクトのプロパティ名。

### value

    public abstract String value

  バインディングするオブジェクトのプロパティ名。

  "this" が指定された場合は、アクションクラス自身に要求パラメータがバインディングされることを表します。

  デフォルト:
    "this"

### bindingType

    public abstract RequestParameterBindingType bindingType

  要求パラメータからフォームオブジェクトへのバインディング方法を指定します。

  デフォルト:
    org.seasar.cubby.action.RequestParameterBindingType.ALL_PROPERTIES

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 必須 | オプション | 詳細: 要素

Copyright © 2006-2009 The Seasar Foundation. All Rights Reserved.