1

クエリ文字列がインターセプタからのアクションに渡されないことを除いて、正常に動作しているインターセプタがあります。インターセプタを介してアクションにクエリ文字列を渡す

<action name="EditIroCase" class="iro.action.IroCaseAction"> 
      <interceptor-ref name="authIro"/> 
      <result name="success">iro/IroCaseFORM.jsp</result> 
</action> 

URL:/EditIroCase.action?id=123

アクションは、私がインターセプタを追加してい既存のものです。 ParamAwareを実装してURLからIDを取得しても問題ありません。いくつかのことを試しましたが、動作させるように見えません。使用された多くのインターセプタ。実行の間にパラメータを維持する必要はありません。

+1

インターセプタの意味は?アクションのスタックは、単一のインターセプタではなく、定義する必要があります。 –

答えて

0

インターセプタは、アクションではなく動作が少し異なります。彼らは行動に属するからです。したがって、インターセプタにアクションを追加することはできませんが、アクションにはインターセプタを追加することはできません。

ListまたはSetなどのインターセプタがコレクションに格納されているxml構成や注釈、または別の構成プロバイダを使用しているかどうかはわかりませんが、すべて1か所にあります。 <interceptor-ref>タグを<action>内で使用すると、傍受者の設定はに上書きされます。デフォルトでは、アクションはコアパッケージのstruts-default.xmlに定義された<default-interceptor-ref>タグを使用して設定され、defaultStackを指します。このスタックはすべてのニーズに対応するように設計されていますが、カスタムインターセプタを使用する場合は、明示的に参照をdefaultStackに追加するか、参照するカスタムスタックを作成する必要があります。

<action name="EditIroCase" class="iro.action.IroCaseAction"> 
     <interceptor-ref name="authIro"/> 
     <interceptor-ref name="defaultStack"/> 
     <result name="success">iro/IroCaseFORM.jsp</result> 
</action> 

今のパラメータが移入されなければなりません。

関連する問題