本文共 2817 字,大约阅读时间需要 9 分钟。
1、以用户登录为例
登录界面login.jsp
定义自定义的登录异常类用户登录
public class LoginException extends Exception{ private String message; public LoginException(String message) { super(message); this.message = message; } public LoginException() { super(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }}对应的处理action:LoginAction
public class LoginAction extends ActionSupport{ private String username; private String password; public String execute()throws Exception { //处理异常 if("liusheng".equals(this.username)) { throw new LoginException("username is error"); } if("1234".equals(this.password)) { throw new LoginException("password is error"); } return SUCCESS; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
局部异常配置
如果不进行异常的配置,当出现异常时,会将错误信息的堆栈信息打印出来,进行配置后将会出现配置的信息页面
index.jsp exception.jsp
public class PasswordException extends Exception{ private String message; public PasswordException(String message) { super(message); this.message = message; } public PasswordException() { super(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }}定义出现密码错误时抛出上述定义的异常
public class LoginAction extends ActionSupport{ private String username; private String password; public String execute()throws Exception { //处理异常 if(!"liusheng".equals(this.username)) { throw new LoginException("username is error"); } if(!"1234".equals(this.password)) { throw new PasswordException("password is error"); } return SUCCESS; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}定义出现密码错误抛出全局异常
说明:passexception.jsp index.jsp exception.jsp
对于struts.xml文件的结果配置来说,局部要优于全局。
我们即可以再Action中定义异常与结果,也可以定义全局的异常与结果,局部总是优于全局的,如果定义成全局,那么可以为所有的Action所公用,而局部的异常与结果只能被当前的Action所独享,不能为其他Action所共享。
转载地址:http://uexei.baihongyu.com/