Struts 2の1つのアクションのフォーム検証を無効にできるようにしたいのですが、インターセプタースタックの残りの部分は引き続き実行できます。
ユーザーがログインしているかどうかを確認するインターセプターがあります。これは常に実行したいのですが、一部のアクション(たとえば、情報の入力)では、アクションvalidate
を呼び出さないようにします。
私は次のようなことをしてみました:
<interceptors>
<interceptor name="bankingAuthenticator"
class="csc309.a4.banking.BankUserAuthenticator"/>
<interceptor-stack name="secureBanking">
<interceptor-ref name="bankingAuthenticator"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="secureBanking"/>
<action name="Deposit!*" method="{1}" class="csc309.a4.banking.Deposit">
<result name="success">/banking/Deposit.jsp</result>
<interceptor-ref name="defaultStack">
<param name="workflow.excludeMethods">choose</param>
</interceptor-ref>
</action>
bankingAuthenticator
ただし、インターセプターと検証の両方をスキップします。