1

Struts 2 で Web アプリケーションを作成しています。JSP ファイルで、次のようなフォームを作成しました。

<s:form action="actionclassname!%{methodToCall}" method="post">
...
</s:form> 

アクション クラスでは、変数の値に応じて呼び出される 2 つのメソッドを作成しましたmethodToCall。それはうまくいきます。私の問題は、アクション クラスの 2 つのメソッドにいくつかの検証が必要なことです。したがって、最初のメソッドが呼び出された場合、注釈を使用してフォームを検証しました。

@Validations(....) 
public String actionMethod1(){
    ...
}

@Validations(...) 
public String actionMehod2(){
    ...
}

最初の方法は検証でうまく機能します。私の問題は2番目の方法にあります。この 2 番目のメソッドの検証を (注釈も使用して) 定義すると、最初のメソッドで定義した検証が、2 番目のメソッドで定義した検証より前に再度実行されるようです。

JSP によって呼び出されるのがこのメソッドである場合、実行する 2 番目のメソッドで検証を行う方法は?

4

1 に答える 1

0

アノテーションによるアクション構成ではvalidateAnnotatedMethodOnly、この例のように、検証インターセプターのパラメーターを使用する必要があります

@Action(value="actionclassname", results = {
  @Result(name="input", location = "/actionclassname.jsp")
},interceptorRefs = @InterceptorRef(value="defaultStack", params = {"validation.validateAnnotatedMethodOnly", "true"}))
于 2013-08-02T13:38:57.190 に答える