struts2中的异常处理

例:登录时的异常处理

先自定义两个异常。

public class PasswordException extends Exception{

private String message;

public PassowrdException(String message){

super(message);

this.message = message;

}

getter;   setter;

}

 

(局部的,仅在此action中发生)

<action name="login" class="com.test.action.LoginAction">

//当遇到这个异常时转到此result对应的页面

<exception-mapping result="usernameInvalid" exception="com.test.exception.UsernameException">

</exception-mapping>

 

<result name="success">/result.jsp</result>

//与上面的异常结果相对应

<result name="usernameInvalid">/usernameInvalid.jsp</result>

</action>

(全局的)

<global-results>

<result name="passwordInvalid">/passwordInvalid.jsp</result>

</global-results>

 

<global-exception-mappings>

<exception-mapping result="passwordInvalid" exception="com.test.exception.PasswordException">

</exception-mapping>

</global>

global-results标签必须放在global-exception-mappings的前面,是由DTD定义的。

当一个action抛出PassowrdException时,在它对应的action标签中未找到对应的异常处理方式,就会到全局中去找。

 

usrnameInvalid.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>

<s:property value="exception"/> 打印出exception的toString方法

<s:property value="exception.message"/> 只打印message属性

<s:property value="exceptionStack"/> 打印出exception的堆栈信息

${exception}

${exception.message} el表达式的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值