关于Struts2的校验问题的若干意见(2)

 使用xml文件的验证方式是比较好使的方法,不知道为什么牛人们总是喜欢把一些规则类的东西往xml上推,装深沉。这种验证的针对性很强,每个action都有自己的XXAction-validation.xml,甚至与你要是在一个action中用了多个逻辑即复写了多个excute方法的,那对于每个逻辑都有一个验证文件,把命名的格式列出来:XXAction-test-validation.xml,但是如果还有XXAction-validation.xml文件就要再执行XXAction-validation.xml验证。至于xml文件中的数据验证格式都是根据dtd来的,要是学过xml的dtd头的话应该能根据官方给的dtd写出验证条目。这里的格式有两种一种是基于feild的验证,就是先配置feild再一个个的写上想要进行的验证,这样比较清晰明朗;一种是基于validator的验证,就是把校验器先摆在那里谁想用这个校验器就注册到相应的validator下面。值得注意的是采用了xml验证并不和validate()方法的验证相冲突,墨家有云:二而不相冲,可以局其右,就是说先验证xml的再进行
validate的验证。一般来说,当要验证的字段复杂或者正则性比较高,就采用validation方法。原则上即使在服务器端采用了验证后,客户端仍然要用js,ajax等进行验证,提高鲁棒性,安全性。对于验证出现的错误一般情况下是保存在Feilderror和Actionerror两个级别下的,在feilderror级别下是用LinkedHashMap的方式存储错误信息,Key就是feild的name属性,value是个Arraylist里面可以存放许多的错误信息。于是对于某个feild的验证错误就可以有多个错误信息就出现了前面的多种验证方式并存使用的现象。Actionerror则只是一个Arraylist。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值