日期:2014-05-19  浏览次数:20618 次

关于Struts2拦截器
XML code
<interceptors>
            <interceptor name="login" class="com.yaxing.util.AuthorizationInterceptor"></interceptor>
            <interceptor-stack name="myLogin">
                <interceptor-ref name="login"></interceptor-ref>
                <interceptor-ref name="defaultStack"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="myLogin"></default-interceptor-ref>

        <global-results>
            <result name="login" type="redirect">/index.jsp</result>
        </global-results>



上面是我的拦截器,请问下,这个拦截器为什么只能放在一个package里面呢、

我想我struts.xml里面所有的package都是用这个拦截器呢~

其实这个拦截器就是拦截登陆的,没有登录就返回到登陆页面
以免用户自己输入action地址 直接访问。


------解决方案--------------------
用package继承。
如<package name="module1" extends="json-default,struts-default">
------解决方案--------------------
struts的dtd 文件 限制了拦截器只能放在package里面。

------解决方案--------------------
这句语句是把你的自定义拦截器设置为默认拦截器
------解决方案--------------------
因为是默认拦截器,可以不用再为每个action配置