下面开始处理JSP页面出错情况<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
添加错误页面,内容如下:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page isErrorPage="true" %>
……其他省略,请看源文件
当要在其他页面处理Exception时,只要在头部添加
<%@ page errorPage="error.jsp" %>
测试如下:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ page errorPage="error.jsp" %>
<%
int n=0;
int n1=10/n;
%>
请求时转向出错页面:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1026" style="WIDTH: 225.75pt; HEIGHT: 122.25pt" type="#_x0000_t75"><img src="http://dev.csdn.net/Develop/ArticleImages/26/26119/CSDN_Dev_Image_2004-3-271456250.png" o=""></shape>
下面测试Action中的Exception。
现在我们开始为Action中的异常定义处理。
先配置全局Exception
<global-exceptions>
<exception key="errors.message" path="actionerror.jsp" scope=”request” type="java.lang.Exception" />
</global-exceptions>
修改我们的LogonAction,使其抛出一个异常。这样全局配置文件就可以进行处理了
<shape id="_x0000_i1025" style="WIDTH: 103.5pt; HEIGHT: 65.25pt" type="#_x0000_t75"><img src="http://dev.csdn.net/Develop/ArticleImages/26/26119/CSDN_Dev_Image_2004-3-271456252.png" o=""></shape>
上面的验证是通过Server端来的,我们继承了ActionForm,其实我们有一种更简单的方式,那就是利用Validator组件。
使用validator组件,既可以支持客户端的验证,同时Server端也进行同样验证。同时验证方式可以重用。
我们来认识一下Struts1.1的Validator。
1.Validators
一个Validator就是,执行一个验证规则时Validator框架调用的一个Java类。框架根据配置文件中定义的方法签名来调用这个Validaotor类。一般情况下,每个Validator类提供一个单独的验证规则,然后这些规则可以组合成更复杂的规则集。Validator框架提供了Web应用程序需要的大多数的验证规则。你可以使用这些现有的验证规则来创建自己验证配置文件。我们也可以根据需要随意的增加更多的Validator。
2.配置文件
Struts1.1的Validator框架,用到这样两个配置文件,一个叫validator-rules.xml,另一个叫validation.xml;其实你也可以随意的给他们命名,甚至可以把它们合并成一个XML文件。但是,你还是最好把它们分开,因为它们各有各的用途。
Validator-rules.xml文件
validator-rules.xml文件定义应用程序可以使用的Validator。Validator-rules.xml充当模板的作用,定义所有应用程序可能要用到的Validator。