Struts1_07_验证框架

一、Struts的插件机制:
  Struts通过插件机制来给用户扩展Struts功能。
  1.提供一个PlugIn接口,init(),destroy()。自定义的插件类就去实现就个类。
  2.在Struts的配置文件中,用<plug-in className="...">标记来注册到Struts框架中。


二、Struts中验证框架的使用:
 1.安装:
  1) 在struts配置文件中添加<plug-in>标记来加载验证框架插件:
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
        value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
  </plug-in>
  2) 把validator-rules.xml和validation.xml放置在项目的WEB-INF目录下。
  3) 在struts配置文件中添加一个<message-resources parameter="MessageResources" />,然后在项目源代码路径中添加MessageREsources_xx_xx.properties,在资源文件中把validator-rules.xml中的一些验证框架要使用到消息拷贝进去。


 2.使用:
   1) 验证框架要求ActionForm必须继承自ValidatorForm或它的子类ValidatorActionForm,不能重写validate()方法,而且在struts配置文件要配置成需要验证(把对应<action>标记的validate设置为true)。
   2) 修改validation.xml来配置针对某个ActionForm的验证规则。
   3) 在验证失败后跳转到的页面中用<html:messages>来显示错误消息。


 3.用Validator框架做客户端javaScript的验证:
   1) 在jsp页面中包含<html:javascript>标签,用formName属性指定要验证的表单名。
      表单名要跟validation.xml中配置的name一致。
        如:<html:javascript formName="userForm"/>
   2) 对需要验证的表单定义onsubmit事件,其中事件名称为validate+"要验证的表单名"
        如:<form name="userForm" action="login.do" 
                     οnsubmit="return validateUserForm(this)">


三、ValidateForm和ValidateActionForm的区别
 如果表单Bean继承自ValidateForm:那么在validation.xml文件中<form>标记配置的name属性值应该对应成struts配置文件中<action>标记的name属性值。


如果表单Bean继承自ValidateActionForm:那么在validation.xml文件中<form>标记配置的name属性值应该对应成struts配置文件中<action>标记的path属性值。这种方式就可针对同一个表单在不同请求路径下的不同验证。


扩展四、如果使用了DispatchAction时,Validate验证框架无法完成工作了。解决方法就是重写org.apache.struts.validator.FieldChecks中所有的方法,添加对parameter="xxx"的区别。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值