STRUCT EXCEPTIONHANDLE

Struts的异常处理JSP技术 2006-11-29 16:02:11 阅读246 评论0 字号:大中小
刚才浏览论坛,发现这个专栏下没有贴子,把昨天整理的小东西得出来,大家讨论一下,作个抛砖引玉吧
Struts的异常处理
Struts共有两种异常处理方式,但是基本思路是一样的,第二种是由第一种发展而来。以下分别予以介绍:
一、第一种异常处理方式
1、在Action中产生异常的时候,捕获异常,并创建ActionError对象,最后使用SaveError方法存入ActionErrors集合。
例如:
ActionErrors errors = new ActionErrors();
ActionError error = new ActionError(“error.Invalid”);
errors.add(ActionErrors.GLOBAL_ERROR,error);
saveErrors(request,errors);
2、在页面中通过<html:errors>标签
例如:<html:errors bundle=‘sysError’ >
3、定义资源文件,并在struts_config中声明
例如:资源文件如下
error.Invalid=系统错误
error.String=字符转换错误
把资源文件命名为error.properties,放到classes目录下,在struts_config中声明,如下
<message-resources parameter="error" key="sysError"/>
这样再发生异常的时候,在一面上便能显示“系统错误”了
二、第二种异常处理方式
1、第二种异常处理方式余地种异常处理方式只有一点不同,即,它不用在程序中处理异常并转化为error对象了,只需要在struts_config中配置即可。如下:
<exception key="general.exception" type="java.lang.Exception" scope="request" handler="com.neusoft.base.common.exception.RedirectExceptionHandler" path="/error.jsp" bundle="sysError"/>
其中:
key相当于创建errors对象所使用的标识,也就是在bundle中定义的key。
type标识要处理的异常类型,这也说明如果我要对不同的异常进行不同的处理,就要定义每种不同的异常。
handler:指的是异常处理类,struts为我们提供了一个默认的异常处理类:ExceptionHandler。如果我们要自定义,亦可以从此类继承,例子中的RedirectExceptionHandler便是从ExceptionHandler继承的类。
Path:指出发生异常要导向的页
Bundle:是指使用的资源文件。
这个<Exception>即可以定义在<action>内,也可以定义在<global-exceptions>内,如果定义在<global-exceptions>内,则对所有的action起作用
当发生异常的时候,ExceptionHandler自动捕获异常,并自动转换为Error对象,并存入ActionErrors集合中去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值