@Documented @Target(value=METHOD) @Retention(value=RUNTIME) @Interceptor(value=InjectForm.Impl.class) @Published public @interface InjectForm
Interceptor。
 本インターセプタでは次の2つの機能を提供する。
      @InjectForm(form = UserForm.class, prefix = "form", validate = "register")
      @OnError(type = ApplicationException.class, path = "forward://registerForm.html")
     public HttpResponse handle(HttpRequest req, ExecutionContext ctx) {
         UserForm form = ctx.getRequestScopedVar("form");
         // 以下、省略
     }
 
 上記のような@InjectFormアノテーションが指定されたメソッドは、
 メソッド実行前に以下の処理順でフォームが生成され、リクエストスコープに設定される。
 ApplicationExceptionを送出する。
       initialize()属性が指定されていれば、初期化処理を実行する。
   name()属性の名前でリクエストスコープに設定する。
   
      //指定例 (Bean Validation)
     <component name="validationStrategy"
                class="nablarch.core.validation.ee.BeanValidationStrategy" />
 
 デフォルトではNablarchValidationStrategyが使用される。
 | Modifier and Type | Required Element and Description | 
|---|---|
java.lang.Class<? extends java.io.Serializable> | 
form
対象のフォームクラス。(必須属性) 
 | 
| Modifier and Type | Optional Element and Description | 
|---|---|
java.lang.String | 
initialize
初期化メソッド。 
 | 
java.lang.String | 
name
フォームをリクエストスコープに設定する際に使用する変数名。(デフォルトは"form") 
 | 
java.lang.String | 
prefix
フォームに設定するパラメータのプレフィックス。(デフォルトは空文字) 
 | 
java.lang.String | 
validate
バリデーション対象メソッド。 
 | 
java.lang.Class<?>[] | 
validationGroup
Bean Validationのグループ。 
 | 
public abstract java.lang.Class<? extends java.io.Serializable> form
public abstract java.lang.String name
public abstract java.lang.String initialize
     対象のフォームクラスに以下のシグネチャでインスタンスメソッドとして実装する。
      public void <メソッド名>(HttpRequest request, ExecutionContext context)
     初期化メソッドは、フォームの初期値(固定値または画面遷移時に復元する入力値)を設定する際に使用する。
 public abstract java.lang.String validate
     ValidateForで設定した文字列を指定する。