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

在struts2的校验问题上使用的方式真的是仁者见仁智者见智,简单的提几个小的地方:用习惯了struts的actionform验证的人们一定会喜欢struts2中Action自带的validate验证方法,确实和strut有点类似。同样在strut2中也可以像dispatcher action性能一样的方式,就是在action注册时加上method以示区别,同样重构的excute和viladate方法都要相应的改变哟。这种方法并不适用,听说在实际工作中都是采用直接读取xml文件的方式有效性校验,这个下次再说。
值得注意的是在提交一个数据到此数据被校验之前有一个数据类型转换的过程,本来是个int型字段,一粗心提交的abc总的有个东西进行数据类型的转换。两种方式,局部转换,全局转换,要是真的情况很特殊是你自己定义的对象类型的数据的验证,似乎还要给自己些个类型转换器,继承自StrutsTypeConverter习惯叫XXconverter,把他再注册到ActionProperties的文件中,至于你往哪里注册就要看情况而定了,Action个数不多就来局部的要是呼啦呼啦的十几个Action就写进一个全局的
ActionProperties就好。
当然的说的是非对象类的转型都是人家struts2自带的,要是转型不成功就自己在addFieldError中加上一个消息,不过这个消息太丑陋了,几乎没人用,所以就想办法修改转化失败的错误提示,也是两种方法,一个局部的一个全局的,由于我对全局错误提示试验没成功所以建议大家使用简单易学的“局部数据转化失败错误提示修改”,晕了,就是建一个XXAction.properties的文件把错误信息描述下。太简单的地方就不写了,具体的操作大概写一下就可以啦。。。。。。
在struts2的标签上最好加上theme主题,这样便于排版操作。事实上永远不要用struts自带的转型失败提示格式,太丑了。举个例子哈,在int型转化失败的时候,会自动的把相应数据段设置成0,于是进入viladate的验证时候,如果0是不合法的但是有效的数据的时候,怎么办?没听明白?就是,0可以拿来验证但是有可能是人家客户端来的0,也有可能是struts转型失败产生的0,这个应该怎么办?怎么加以区分?
好了,有空再写下面的。。。。。。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值