Struts2 全局拦截器、result 的实现

定义一个可以继承的包,在这个包里面写入自己常用的拦截器,于是就实现了全局拦截器的实现。

现在,我们定义一个专门用来继承的包:

 <!--专门提供前台继承的包-->
    <package name="my" abstract="true" extends="struts-default">
        <interceptors>
            <interceptor-stack name="myStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="loadingNav"/>
            </interceptor-stack>
            <interceptor name="loadingNav" class="com.hlcg.main.interceptor.NavInterceptor"/>
        </interceptors>

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

        <global-results>
            <result name="msg">/common/msg.jsp</result>
        </global-results>
    </package>

 

我们现在定义一个业务包,这个业务包继承我们刚才定义的全局包:

 <package name="struts-main" extends="my" namespace="/">
        <!--进入主页-->
        <action name="index" class="indexAction">
            <result>/WEB-INF/pages/index.jsp</result>
        </action>

        <!-- 关于我们 -->
        <action name="aboutUs" class="aboutUsAction">
            <result>/WEB-INF/pages/aboutUs.jsp</result>
        </action>
    </package>

这样,在使用这些action的时候,会自动先运行我们而之前定义好的默认拦截器,也会拥有全局result。

注意:在写拦截器栈的时候千万不要忘记defaultStack,如果没有他,你的很多功能就无法实现了。

posted @ 2013-11-24 21:42  无忧之路  阅读(2019)  评论(0编辑  收藏  举报
无忧之路