Struts 2ブロッカーに関する要素

2589 ワード

Struts 2では、インターセプタに関連する要素としてintercetors,intercetor,intercetor-ref,intercetor-stack,default-intercetor-refの5つがある.
ブロッキングを使用する前に、の段落にintercetor要素で登録する必要があります.たとえば、次のpackageに2つのブロッキングを登録します.
    

     <package name="myPackage" extends="struts-default"> 
         <intercetors>
                <intercetor name="validate" class="com..."/>
                <intercetor name="logger" class="com..."/>
         </intercetors>
     </package>
     

ブロッキングをアクションに追加するには、アクションのaction要素の下でintercetor-ref要素を使用します.次のようにします.
    

     <package name="myPackage" extends="struts-default"> 
         <intercetors>
                <intercetor name="validate" class="com..."/>
                <intercetor name="logger" class="com..."/>
         </intercetors>

	<action name="delete" class="com...">
		<intercetor-ref name="validate"/>
		<intercetor-ref name="logger"/>
		<result name="success">/jsp/success.jsp</result>
	</action
     </package>
     

ほとんどのstrutsアプリケーションには複数のaction要素があり、action要素にブロッキングリストを繰り返しリストすると面倒になる可能性があります.この場合、ブロッキングエントリ要素(intercetor-stack)が使用されます.
          

     <package name="myPackage" extends="struts-default"> 
         <intercetor-stack name="myStack">
                <intercetor name="validate" class="com..."/>
                <intercetor name="logger" class="com..."/>
         </intercetor-stack>

	<action name="delete" class="com...">
		<intercetor-ref name="myStack"/>
		<result name="success">/jsp/success.jsp</result>
	</action>
     </package>
     

struts-defaultパッケージでは、いくつかのブロッキングスタックと1つのdefault-intercetor-ref要素が定義されています.アクションにブロッキングが定義されていない場合は、この要素で定義されたデフォルトのブロッキングまたはブロッキングスタックが使用されます.

<default-intercetor-ref name="defaultStack" />

アクションがデフォルトのブロッキングに加えて他のブロッキングにも使用される場合は、action要素にintercetor要素が表示されるとdefault-intercetor-ref要素が無視されるため、デフォルトのブロッキングを再定義する必要があります.