Struts 2の開発者は、アクションがデフォルトのインターセプタセットを含む ”

struts-default

“を拡張するパッケージに属することを宣言するために使用されます。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction"
        class="com.mkyong.common.action.TestingAction" >
        <result name="success">pages/result.jsp</result>
    </action>
</package>

デフォルトのインターセプタセットは、

struts-default.xml

ファイルの ”

defaultStack

“としてグループ化されています。このファイルは、

struts2-core.jar

ファイルにあります。 ”

defaultStack

“はStruts 2のコア機能をすべて提供しますが、これはほとんどのアプリケーションに必要です。

インターセプタからアクションへのマッピング

他のインターセプタをアクションにマップするには、 ”

interceptor-ref

“要素を使用します。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction"
        class="com.mkyong.common.action.TestingAction" >
        <interceptor-ref name="timer"/>
        <interceptor-ref name="logger"/>
        <result name="success">pages/result.jsp</result>
    </action>
</package>

上記のスニペットコードでは、 ”

interceptor-ref

“要素を介して ”

timer

“と ”

logger

“インターセプタを ”

TestingAction

“アクションクラスにマッピングします。

インターセプタは宣言された順番で起動します。



TestingAction

“はそれ自身のインターセプタであると宣言されているため、継承したすべてのインターセプタのデフォルトセットが即座に失われます。

使用するには、明示的に ”

defaultStack ** “を宣言する必要があります。

<package name="default" namespace="/" extends="struts-default">
    <action name="testingAction"
        class="com.mkyong.common.action.TestingAction" >
        <interceptor-ref name="timer"/>
        <interceptor-ref name="logger"/>
        <interceptor-ref name="defaultStack"/>
        <result name="success">pages/result.jsp</result>
    </action>
</package>

リファレンス

インターセプタのドキュメント]