[搬家文]struts中的错误处理
struts中的错误处理~~
![](http://img.baidu.com/hi/face/i_f02.gif)
具体方法是在 struts-config.xml中定义
<global exception>元素或者在<action>节点下面定义<exception>子节点
一个是全局的,一个仅对此<action>有效。
<globle exception>和 <exception>元素中的属性一样有
key,type,handler,path,scope,bundle,className
后面两个我也还不太清楚作用
前面key是捕捉到错误后,去资源文件中找对应显示信息的那个key
(资源文件中的信息都是以 key = message这种形式存在的,要显示message就要找到对应的key)
type是指错误类型,比如nullpointerexception,nosuchmethodexception等 你也可以直接写exception让它抓所有错误,并显示一样的信息。如果你想不同的错误类型对应不同信息,那么你要定义多条 <exception>节点让不同的exception类型对应不同的key。
handler 是错误处理器,不填就会调用默认org.apache.struts.action.ExceptionHandler ,你可以选择继承一个新的handler重写其execute()方法
path就是出错后跳转的jsp页面了。
scope就不用多说了,搞这个的都知道。
然后jsp页面里面显示错误内容很简单,就一个<html:errors/>标签就可以,会把资源文件中取得的信息显示出来。
最后啰嗦的一点就是 <exception>节点没有contextRelative属性,所以分模块多个struts-config.xml的项目要注意 path中的路径别搞错了,可能需要../回到上一层。