<action-mappings> <action name="loginForm" path="/login" type="com.action.LoginAction" input="/login.jsp" validate="true"> <exception key="errors.noauthorization" type="com.exception.NoAuthorizationException" path="/noauthorization.jsp"> </exception> <forward name="fail" path="/fail.jsp"></forward> <forward name="current" path="/login.jsp"></forward> </action> </action-mappings
课堂笔记:
1、Exception的处理。
<action> <exception key="authorization.exception"//出错的信息 path="/user/exception.jsp"//出错的页面 type="com.ambow.struts.UserException"//异常所在的类 </action>
通过抛出异常处理错误(推荐使用:处理业务逻辑方面出现的错误)
(1)在action的方法中抛出异常
(2)在struts-config.xml声明该异常的处理方法(通过exception标记) 局部异常
>
key="errors.noauthorization" 异常提示信息仍然通过资源文件作映射
path="/noauthorization.jsp" 出现异常时的处理页面
type="exception.NoAuthorizationException" Action处理业务过程中有可能出现的异常类型
资源文件加入:
errors.noauthorization=no authorization
errors.noauthorization=当前用户没有授权!
全局异常(对所有的action共享的,所以优先级应该比较低)
<global-exceptions> <exception key="errors.global" type="java.lang.Exception" path="/error.jsp"></exception> </global-exceptions>
资源文件加入:
errors.global=System Error! Please contact our administrators!
errors.global=系统错误!请联系管理员!
在LoginAction中加入
if("admin".equals(loginform.getUsername())
&& "".equals(loginform.getPassword())) {
throw new Exception();
}
=======================================================
1.定义异常类...
2.在action中定义struts-config.xml
<exception key="login.error.author" path="/error.jsp" type="com.dowebber.struts.exception.MyException" />
3.在action中手动抛出异常