struts2中,如果自定义了拦截器的话,之前的defaultStack还起作用吗? 5
<packagename="exception_handle"extends="struts-default"><interceptors><interceptornam...
<package name="exception_handle" extends="struts-default">
<interceptors>
<interceptor name="exception_handler" class="com.dhee.hardwarecheck.common.ExceptionHandlerInterceptor"/>
</interceptors>
<default-interceptor-ref name="exception_handler" />
</package>
<package name="default" extends="exception_handle" namespace="/login">
<action name="login" class="com.action.LoginAction"
method="login">
<result name="true">
/success.jsp
</result>
</action>
</package> 展开
<interceptors>
<interceptor name="exception_handler" class="com.dhee.hardwarecheck.common.ExceptionHandlerInterceptor"/>
</interceptors>
<default-interceptor-ref name="exception_handler" />
</package>
<package name="default" extends="exception_handle" namespace="/login">
<action name="login" class="com.action.LoginAction"
method="login">
<result name="true">
/success.jsp
</result>
</action>
</package> 展开
展开全部
因为你继承的是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-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询