Strut1.x的异常处理蛮简单。配置时分为全局,异常与局部异常。
对于一个action若发生异常则先查找本身action是否有相应异常的配置,若无则查找全局异常配置,还没有则报错。异常处理一定会用到资源文件
- 局部配置如下
<!--
key指定信息在资源文件中的键值
type指发生的异常类型。
bundle使用哪个资源文件,不配置则使用默认的资源文件
-->
<exception key="user.register" type="edu.yzu.exception.UserRegisterException" bundle="exception" path="/error.jsp"/>
- 全局配置如下,各属性与局部配置一样
<global-exceptions>
<exception key="user.register" type="edu.yzu.exception.UserRegisterException" bundle="exception" path="/error.jsp"/>
</global-exceptions>
3.对于一个异常,通过会转入另外一个页面,提示错误,struts1.x在此设计有些不合理,一旦转入异常提示页面时,即使这个页面设置了isErrorPage="true"但是它的内置有exception对象依然为空,所以不能用exception得到异常中的信息,只能用<html:errors />来得到,一大失误哦,这也就是说struts1.x的异常处理是离不开资源文件的,因为异常的信息只能放在资源文件中。