close

 

以自己案子為例:

 

    

<interceptors>
    <interceptor name="XX1Interceptor" class="XX1Interceptor" />
    <interceptor name="XX2LogInterceptor" class="XX2LogInterceptor" />
    <interceptor name="XX3Interceptor" class="XX3Interceptor" />
    <interceptor name="XX4LogInterceptor" class="XX4LogInterceptor" />
        <interceptor-stack name="XXXStack">
            <interceptor-ref name="defaultStack" />  // 通常加入這個是為了讓原先action內的設定值不跑掉
            <interceptor-ref name="XX1Interceptor" />
            <interceptor-ref name="XX2Interceptor" />
            <interceptor-ref name="XX3Interceptor" />
            <interceptor-ref name="XX4LogInterceptor" />
       </interceptor-stack>
</interceptors>

 

<default-interceptor-ref name="XXXStack" />    // 這邊則代表所有的action都會進入這邊所定義的interceptor內

(可參考此網站的講解 http://blog.csdn.net/forwayfarer/article/details/2955586   ... 

特別擷取裡頭的這種範例及解釋 :

<interceptors>

            <interceptor name="myInterceptor" class="edu.hust.interceptor.MyInterceptor"></interceptor>

            <interceptor-stack name="myInterceptorStack">

                <interceptor-ref name="myInterceptor"></interceptor-ref>

                <interceptor-ref name="defaultStack"></interceptor-ref>

            </interceptor-stack>

        </interceptors>

        <!-- 此默认interceptor是针对所有action的 -->

        <!-- 如果某个action中引入了interceptor, 则在这个action中此默认interceptor就会失效 -->

        <default-interceptor-ref name="myInterceptorStack"></default-interceptor-ref>        

            <action name="register" class="edu.hust.action.RegisterAction">

            <result name="input">/register.jsp</result>

            <result>/result.jsp</result>

        </action>

     )

 

<global-results>
     <result name="EXPORT" type="stream">
         <param name="contentType">application/octet-stream;charset=UTF-8</param>
         <param name="inputName">XXXXXStream</param>
         <param name="contentDisposition">attachment;filename="${fileName}"</param>
     </result>
     <result name="JSON" type="json">
         <param name="contentType">text/html;charset=UTF-8</param>
         <param name="ignoreHierarchy">false</param>
         <param name="root">XXXObj</param>
         <param name="excludeNullProperties">true</param>
    </result>
    <result name="ERROR" type="json">
         <param name="contentType">text/html;charset=UTF-8</param>
         <param name="ignoreHierarchy">false</param>
         <param name="root">errorMsg</param>
     </result>
</global-results>

============   </package>

(下面者兩個放置在</package>後 </struts>前)

<include file="conf/entry/struts-XXXXXXX1.xml"></include>
<include file="conf/common/struts-XXXXXXX2.xml"></include>

以上兩行用意是要匯入其他xml內所定義的action及其他內容

 

順道一提:

   以上範例中include內的action都無定義result 的name ,全都仰賴global-results內的 result name 去做 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 JoshS 的頭像
    JoshS

    JoshS的部落格

    JoshS 發表在 痞客邦 留言(0) 人氣()