Struts 2のインターセプタをアクションにマッピングする
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>
リファレンス
インターセプタのドキュメント]