浏览 1871 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-30
程序员的本意是只有在action中的某个方法中才使用validation框架校验,但是只要把struts-config.xml中 <action />标签中的validate设为true,那么进入该action的所有方法之前都会进行校验,很痛苦。现在有两个办法: 1,在stuts-config.xml中对一个class 配多个<action/>标签, 比如: <action path="/saveUser" validate=true ..... type="UserAction" /> <action path="/initUser" validate=false..... type="UserAction" /> 只在需要的action里将validate配成true 当然这只是权宜之计。 2:在validation.xml 中将form的name设置成需要的进行校验的action的path <formset> <form name="/user.do?method=save"> <field>.... </filed> </form> </formset> 这样只有在save()方法调用时才会校验。 update:除了这个,还有另外一个解决方法: 令struts-config.xml中的validate=false,然后在自己的action中需要校验的地方追加以下代码: ActionMessages errors = form.validate(mapping, request);//在需要的地方调用validate()方法,其中validate()方法的校验规则已经定义在validation.xml中了 if(!errors.isEmpty()){ saveErrors(reqeust, errors); return mapping.getInputForward(); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-05
可以用MappingDispatchAction.
|
|
返回顶楼 | |