体会真正的Struts开发3(3)

 

下面开始处理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">CSDN_Dev_Image_2004-3-271456250.png</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">CSDN_Dev_Image_2004-3-271456252.png</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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值