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.jspresult>
        global-results>
    package>

 

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

 <package name="struts-main" extends="my" namespace="/">
        
        <action name="index" class="indexAction">
            <result>/WEB-INF/pages/index.jspresult>
        action>

        
        <action name="aboutUs" class="aboutUsAction">
            <result>/WEB-INF/pages/aboutUs.jspresult>
        action>
    package>

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

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

转载于:https://www.cnblogs.com/wuyou/p/3440552.html

你可能感兴趣的:(Struts2 全局拦截器、result 的实现)