2

こんにちは、appInterceptorStack というカスタマイズされたインターセプター スタックを作成し<default-interceptor-ref name="appInterceptorStack"/>

appInterceptorStack -> 検証とワークフロー インターセプターがアタッチされていません。

しかし、特定のアクション クラスでは、検証メソッドを使用する必要があるため、検証インターセプターが必要です。

検証とワークフロー インターセプターを使用して新しいインターセプター スタックを作成し、アクション クラスから参照しました。ただし、デフォルトのインターセプター スタックのみが実行されます。変更されたものは呼び出されません。以下のサンプル コードを見つけてください。

<package name="default" extends="struts-default">
  <interceptor-stack name=”AppStack”&gt;
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
  </interceptor-stack>

  <interceptor-stack name=”GuiStack”&gt;
    <interceptor-ref name="exception"/>
    <interceptor-ref name="alias"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="servletConfig"/>
    <interceptor-ref name="params"/>
    <interceptor-ref name="validation" />
    <interceptor-ref name="workflow" />
  </interceptor-stack>

  <default-interceptor-ref name="AppStack"/>

  <action name="test" class="com.jranch.Test">
    <interceptor-ref name="GuiStack”/>
    <result name="input">login.jsp</result>
    <result name="success" type="redirect-action">/secure/home</result>
  </action>
</package> 

誰か助けてくれませんか?

4

1 に答える 1

1

構成は正しいようです。com.opensymphony のデバッグ ログをオンにできますか。

次に、インターセプターが順番に呼び出されていることを確認できます。これは、何が呼び出されているかを確認する最も簡単な方法です。

于 2011-06-06T13:04:39.607 に答える