一、Struts框架的异常处理机制
1. 编程方式的异常处理
1) 在Action类中用try/catch捕获异常
try{…} catch(){ …}
2) 在异常处理代码中创建相应的异常消息
ActionMessages errors = new ActionMessages();
ActionMessage msg = new ActionMessage("error info…", false);
errors.add(ActionMessages.GLOBAL_MESSAGE, msg);
3) 传递这个异常消息
saveErrors(request, errors);
4) 转向相应的异常显示页面
return mapping.findForward("ERROR_PAGE");
5) 在异常显示页面用标签显示:
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
2. 配置方式的异常处理
1) 全局异常处理元素:
<exception>标记配置在<global-exceptions>元素中,对所有的Action适用。
2) 局部异常处理元素:
<exception>标记配置在<action>元素中,表示仅对当前的Action适用。
3) <exception>常用配置属性:
type:指定待处理的异常类全限定名。
key:指定错误消息key,struts根据这个key到资源包中寻找消息文本
path:指定转发路径。
用局部异常处理时:若不指定,将使用<action>标记的input指定的页面。
handler:指定异常处理类,默认是ExceptionHandler。可以自定义。
scope:指定ActionMessages的存放范围,默认是request。
4) 在异常显示页面用标签显示:
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
1. 编程方式的异常处理
1) 在Action类中用try/catch捕获异常
try{…} catch(){ …}
2) 在异常处理代码中创建相应的异常消息
ActionMessages errors = new ActionMessages();
ActionMessage msg = new ActionMessage("error info…", false);
errors.add(ActionMessages.GLOBAL_MESSAGE, msg);
3) 传递这个异常消息
saveErrors(request, errors);
4) 转向相应的异常显示页面
return mapping.findForward("ERROR_PAGE");
5) 在异常显示页面用标签显示:
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
2. 配置方式的异常处理
1) 全局异常处理元素:
<exception>标记配置在<global-exceptions>元素中,对所有的Action适用。
2) 局部异常处理元素:
<exception>标记配置在<action>元素中,表示仅对当前的Action适用。
3) <exception>常用配置属性:
type:指定待处理的异常类全限定名。
key:指定错误消息key,struts根据这个key到资源包中寻找消息文本
path:指定转发路径。
用局部异常处理时:若不指定,将使用<action>标记的input指定的页面。
handler:指定异常处理类,默认是ExceptionHandler。可以自定义。
scope:指定ActionMessages的存放范围,默认是request。
4) 在异常显示页面用标签显示:
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>