论坛首页 Java企业应用论坛

webwork验证框架的使用

浏览 2399 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-29  
项目的验证部分终于做完了,期间碰到了许多问题,在这里总结一下:
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进行验证时遇到的问题。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics