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