0

私はStruts2を使用しています。私web.xmlの場合、次の構成を使用しています。

    <filter>
        <description>filter for application</description>
        <display-name>AppBasicFilter</display-name>
        <filter-name>AppBasicFilter</filter-name>
        <filter-class>com.myapp.AppBasicFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>AppBasicFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

この構成では、アクションクラスが適切にトリガーされています。しかし、アクションクラスの実行前でも実行後でも、myAppBasicFilterはトリガーされません。

逆コンパイルしてstruts2FilterDispatcherコーディングを確認しようとしましたが、マッピングが存在する場合、マッピングが実行されていないことがわかりFilterChain.doFilter()ました。

この問題はそのためです。誰か助けてくれませんか?

4

1 に答える 1

0

FilterDispatcher に問題があることがわかりました。したがって、Struts 2.1 以降で利用可能な StritsPrepareAndExecuteFilter を使用する必要があります。しかし残念ながら、私のプロジェクトは struts 2.0 を使用していました。そこで、Struts 2.1 に移行して動作させました。

于 2012-08-15T17:27:14.893 に答える