defaultStack拦截器的作用
这个默认的拦截器的主要作用是什么,做什么用的,是在action之前还是之后执行?<interceptor-refname="workflow"><paramname="e...
这个默认的拦截器的主要作用是什么,做什么用的,是在action之前还是之后执行 ?
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>//这句话是什么意思,有什么用了?
</interceptor-ref>
<!-- Copied from struts-default.xml and changed validation exclude methods -->
<interceptor-stack name="defaultStack">
<interceptor-ref name="accessDenied"/>
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">cancel,execute,delete,edit,list</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
<interceptor-stack name="adminCheck">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="adminOnly"/>
</interceptor-stack>
</interceptors> 展开
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>//这句话是什么意思,有什么用了?
</interceptor-ref>
<!-- Copied from struts-default.xml and changed validation exclude methods -->
<interceptor-stack name="defaultStack">
<interceptor-ref name="accessDenied"/>
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">cancel,execute,delete,edit,list</param>
</interceptor-ref>
</interceptor-stack>
<interceptor-stack name="fileUploadStack">
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
<interceptor-stack name="adminCheck">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="adminOnly"/>
</interceptor-stack>
</interceptors> 展开
1个回答
展开全部
因为你继承的是exception_handle这个package,而这个包的默认拦截器是exception_handler,所以struts2在运行时只经过了这个拦截器,肯定会报错。解决方案是:在exception_handle这个包里新建一个拦截器栈,栈里面把你的异常拦截器和defaultstack包括在一起,然后设置默认拦截器default-interceptor-ref为这个新建的拦截器栈即可。
<package name="exception_handle" extends="struts-default">
<interceptors>
<interceptor name="exception_handler" class="com.dhee.hardwarecheck.common.ExceptionHandlerInterceptor"/>
<interceptor-stack name="exceptionStack">
<!-- 默认的拦截器 -->
<interceptor-ref name="defaultStack"/>
<!-- 异常拦截器 -->
<interceptor-ref name="exception_handler"/>
</interceptor-stack>
<!-- 默认运行的拦截器栈 -->
<default-interceptor-ref name="exceptionStack" />
</interceptors>
</package>
是否可以解决您的问题?
<package name="exception_handle" extends="struts-default">
<interceptors>
<interceptor name="exception_handler" class="com.dhee.hardwarecheck.common.ExceptionHandlerInterceptor"/>
<interceptor-stack name="exceptionStack">
<!-- 默认的拦截器 -->
<interceptor-ref name="defaultStack"/>
<!-- 异常拦截器 -->
<interceptor-ref name="exception_handler"/>
</interceptor-stack>
<!-- 默认运行的拦截器栈 -->
<default-interceptor-ref name="exceptionStack" />
</interceptors>
</package>
是否可以解决您的问题?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询