struts2自定义拦截器和默认拦截器栈的顺序问题。
我自定义了一个拦截器。myinterceptor,里面就输出一句话“myinterceptor”。在xml的action下面设置拦截器的时候,出现了一点疑问。当我如下设置...
我自定义了一个拦截器。myinterceptor,里面就输出一句话“my interceptor”。在xml的action下面设置拦截器的时候,出现了一点疑问。
当我如下设置时:
<interceptor-ref name="myInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
控制台输出my interceptor。
但是当我如下设置时:
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor3"></interceptor-ref>
控制台没有任何输出。
我猜测可能是默认的拦截器栈或是其中的某个拦截器造成的。有没有人遇到过这问题?是哪里出问题了呢?
有个地方写错了,上面那个myInterceptor3就是myInterceptor
我想问的是为什么默认拦截器栈写在前面,会屏蔽掉后面的拦截器。
还有一个问题,如果我把默认拦截器栈写在前面,那么会先进入action中的validate方法,为什么呢?不是在所有拦截器都过一遍时才会进入action吗? 展开
当我如下设置时:
<interceptor-ref name="myInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
控制台输出my interceptor。
但是当我如下设置时:
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor3"></interceptor-ref>
控制台没有任何输出。
我猜测可能是默认的拦截器栈或是其中的某个拦截器造成的。有没有人遇到过这问题?是哪里出问题了呢?
有个地方写错了,上面那个myInterceptor3就是myInterceptor
我想问的是为什么默认拦截器栈写在前面,会屏蔽掉后面的拦截器。
还有一个问题,如果我把默认拦截器栈写在前面,那么会先进入action中的validate方法,为什么呢?不是在所有拦截器都过一遍时才会进入action吗? 展开
4个回答
展开全部
<interceptor-ref name="myInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor3"></interceptor-ref>
myInterceptor3 这个 3 是怎么回事啊。写错了吧。
默认拦截器跟自定义拦截器顺序反正没关系,一般写发都是自定义在前,默认在后。我一般都这么写
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor3"></interceptor-ref>
myInterceptor3 这个 3 是怎么回事啊。写错了吧。
默认拦截器跟自定义拦截器顺序反正没关系,一般写发都是自定义在前,默认在后。我一般都这么写
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-12-07
展开全部
不是吧,一般在引用拦截器或拦截器栈时,第一个会起作用,后面的会被屏蔽掉(也就是不起作用,引用跟没引用一样),一般要把默认拦截器写在自己定义的拦截器里面,再引用自己的拦截器。你可以看看孙鑫的struts书,写的不错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在struts.xml里面加一个default-interceptor-ref,把myInterceptor3和defaultStack放进去,myInterceptor3在defaultStack前面,用的时候用default-interceptor-ref就行了,省得麻烦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询