webwork验证框架的使用

项目的验证部分终于做完了,期间碰到了许多问题,在这里总结一下:
1.开始浏览了《webwork in action》的验证部分,照本宣科的做下来,运行
<action name="resource"
class="com.mdcl.timecard.action.ResourceAction" method="execute">
<result name="success">login.jsp</result>
</action>

一直出现no result defined for action and result input 这个错误提示,可我还没有给他添加验证拦截器呢,我要验证的是另一个action啊,调试了半天才发现是版本的问题,在webwork2.1版本的时候,webwork-default.xml文件中的defaultStack里并没有validation拦截器,是2.2版本修改了defaultStack,添加了validation拦截器,发现了问题所在就好办了,把defaultStack的validation拦截器注释掉,问题解决了,可以控制想要验证的action了。
2.action中添加validation拦截器后,表单提交后Action类中的对象是null,改成validationWorkflowStack拦截器就没这毛病了。
3.add.action验证执行后又出现新问题,表单中的下拉菜单是通过其他service在add中查询的
<ww:iterator value="listDept">

action被拦截,这个service未执行,listDept无法查询,这个问题通过添加拦截器prepare得到解决,再action中实现Prepareable接口,这个接口中的方法在每次action执行之前执行。
4.add.action验证通过后,为update.action添加验证,又出现了新问题,update.action所要验证的内容包含于add,这个问题通过将验证的配置文件名修改为ActionClassName-MethodName-validation.xml解决。
至此,验证的功能得以实现,不过其中还有很多问题,比如第2点,还有拦截器的excludeMethods的使用
此文权作抛砖引玉,大家也来讨论下使用webwork进行验证时遇到的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值