浏览 6615 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-18
那么这个时候,要分开另写一个action,然后配置不需要Form,还是会有其他的更好办法,对crud进行识别,确定要不要进行validate?我在google上找DispatchAction+validate,第一个答案就是配置几个action,对应同一个类。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-18
干吗在写一个action啊
XXXAction?method=remove&model.modelId=1 就行了,action里继续从form里取那个对象,根据他的Id删,和其他方法一样。 也可以从request里直接取。 |
|
返回顶楼 | |
发表时间:2007-04-18
lazyvalidator
|
|
返回顶楼 | |
发表时间:2007-04-19
ecsun 写道 其实是有很好的解决方案的,在appfuse作者的blog中,早就有这样的解决方案提出过。
对于这个的问题,我们可以通过配置来解决问题: 一般来说,一个DispatchAction的了类如UserAction里面会有几个动作,如通常的CRUD等,同时,我们的Form又是ValidatorActionForm的子类,这个时候,我们可以这么做: <action path="/saveUserAction" type="UserAction" paramert="method"/> 很明显,这个action的配置,我们只用它做用户的数据保存工作。 当我们要做数据的删除工作的时候,我们增加另外一段配置: <action path="/removeUserAction" type="UserAction" parameter="method"/> 接下来怎么做呢? 那就是在我们的validation.xml中指定对哪个action进行校验了,注意,我们在这里使用的是ValidatorActionForm,它是针对 action的,而不是针对form的 那我们的validation.xml就可以这么书写: <form name="/removeUserAction"> <filed ....../> </form> 这样做的话,就可以解决楼主提到的关于DispathcAction的问题了。 楼上的意思是: 不同的ACTIONPATH(或者是ACTION的名字)其实对应的是同样的ACTION类,而这个ACTION类是一个DISPATCHACTION! 校验是针对ACTION的名字执行对ACTIONFORM的验证的! FROM提交ACTION: saveUserAction.do?method=saveUser removeUserAction.do?method=removeUser dispatchaction有两个方法: saveUser(),removeUser() 不知道理解是否正确? 谢谢. |
|
返回顶楼 | |
发表时间:2007-04-19
还是没解决楼主的问题啊
|
|
返回顶楼 | |
发表时间:2007-04-19
ecsun 写道 其实是有很好的解决方案的,在appfuse作者的blog中,早就有这样的解决方案提出过。
对于这个的问题,我们可以通过配置来解决问题: 一般来说,一个DispatchAction的了类如UserAction里面会有几个动作,如通常的CRUD等,同时,我们的Form又是ValidatorActionForm的子类,这个时候,我们可以这么做: <action path="/saveUserAction" type="UserAction" paramert="method"/> 很明显,这个action的配置,我们只用它做用户的数据保存工作。 当我们要做数据的删除工作的时候,我们增加另外一段配置: <action path="/removeUserAction" type="UserAction" parameter="method"/> 接下来怎么做呢? 那就是在我们的validation.xml中指定对哪个action进行校验了,注意,我们在这里使用的是ValidatorActionForm,它是针对 action的,而不是针对form的 那我们的validation.xml就可以这么书写: <form name="/removeUserAction"> <filed ....../> </form> 这样做的话,就可以解决楼主提到的关于DispathcAction的问题了。 其实我说的“配置几个action”就是这个意思,配置的是几个<action>而不是Action类,都是指向一个action的 |
|
返回顶楼 | |
发表时间:2007-04-19
不要使用自动验证
|
|
返回顶楼 | |
发表时间:2007-04-19
配置多个action映射,没有必要吧?
为什么不直接在form加个判断? public ActionErrors validate(ActionMapping mapping, ServletRequest request) { if(request.getParameter("method").equlas("save")||request.getParameter("method").equlas("update"){ ....... } else{ return null; } } |
|
返回顶楼 | |
发表时间:2007-04-19
引用 其实我说的“配置几个action”就是这个意思,配置的是几个<action>而不是Action类,都是指向一个action的
奥,我理解错误。ecsun说得方法是对的。 Validator提供ValidatorForm和ValidatorActionForm这两种类, 目的就是可以在更加精确的控制执行验证的条件。 |
|
返回顶楼 | |