针对运行时产生的异常,除了try/catch捕获之后进行自定义处理,还可以考虑使用struts2提供的全局结果集。
Action:
1 package demo.action;
2
3 public class HelloWorld {
4
5 public String execute() throws Exception {
6 //模拟一个异常
7 if (true) {
8 throw new Exception("Exception test");
9 }
10 return "success";
11 }
12
13 }
14
struts.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
4 "http://struts.apache.org/dtds/struts-2.3.dtd">
5 <struts>
6
7 <constant name="struts.devMode" value="true" />
8 <package name="helloworld" extends="struts-default" namespace="/">
9
10 <global-results>
11 <!-- 指定一个页面作为异常页面 -->
12 <result name="error">/error.jsp</result>
13 </global-results>
14
15 <global-exception-mappings>
16 <!-- 配置需要捕获的异常类型,以及返回结果 -->
17 <exception-mapping result="error" exception="Exception" />
18 </global-exception-mappings>
19
20 <action name="hello" class="demo.action.HelloWorld">
21 <result name="success">/helloWorld.jsp</result>
22 </action>
23
24 </package>
25
26 </struts>
全局异常结果集的配置很简便,可以配置一些404或者一些通用的异常页面,在页面中使用${exception.message}就可以获得异常信息。