关于Struts与Ajax整合时的异常处理问题:
问题还原:
从而当有异常发出时,会将异常信息发送到页面上。如下图所示:这是一个比较经典的过程:
错误提示页面:
由于sendError()方法里面没有设置status返回值,根据$.ajax() 的语法特点,可以明晰:将导致一种情况的发生。即:当出现异常信息时,ajax接收不到
错误的状态吗。接收到的反而是异常页面以data的形式返回来了。Ajax语法如下:
Struts2同一错误处理的方法:
在struts.xml文件中添加如下的代码:
<package name="struts-global" namespace="/" extends="struts-default"> <global-results> <result name="errHandler" type="chain"> <param name="actionName">errorProcessor</param> </result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="errHandler" /> </global-exception-mappings> <action name="errorProcessor" class="com.itheima10.oa.error.ErrorProcess"> <result>error.jsp</result> </action> </package> |
故此时就不走Ajax直接在页面上显示错误的信息了!!!