[AppFuse] AppFuse使用手记-Validator(八)



上篇中例子还有一个小小的问题。因为所有的Action配置都指向同一个Action类。而AppFuse会对没敢Action生成一个Validator的xml文件。而当同一个Action里包含很多操作,而这些操作对同一个POJO效验又不一样时,就会出现问题。比较常见的时,一个POJO Create和Update时对某个field效验不能为空,而POJO做为查询条件时这个field却允许为空。这样生成的Validator配置就不能同时运用于这一个Action。

而Validator的配置文件为ActionName-validation.xml,即每个xml对应于一个Action。所以需要我们把不同的操作放到不同的Action里,在配置不同的xml验规则。这样有一个问题,就是可能引起Action的类爆炸,而且不同的Action里可能会有很多相同的代码。我但是想能不能用Action的extends来避免这个问题。后来发现Action的extends是可以规避类爆炸的问题,可是效验还是会出现向前的问题,原因是因为“WebWork搜索活动类的继承树寻找父类或接口的校验规则”。就是说,验框架按照自上而下的顺序在类层次查找配置文件。

还有一种解决的方法,就是自己写一个Validator,可以参考结合 验证在struts中减少Action和ActionForm的数量

我建议WebWork可以考虑在Validator的效验规则里象struts.xml的Action标签一样增加method参数。可以根据不同的method定义不同的效验规则。

转载于:https://www.cnblogs.com/vanuan/archive/2008/04/27/9576004.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值