【发布时间】:2012-09-08 21:50:58
【问题描述】:
我正在开发一个具有相互依赖形式的 struts2 项目。 我找到了 struts2-conversation,浏览了他们的simple-example 并且理解了目前的对话机制(如果我有错误请纠正我):
- Controller 映射在 struts.xml 中
- 它拥有可序列化的 ConversationContext 和 Storing-Service
- ConversationContext 保存通过命名约定映射到表单上的 POJO
现在我的问题是在哪里进行验证?
在这个结构中,控制器只是一个扩展 ConversationSupport 的控制器,因此 ActionSupport 提供了 validate、prepare 和 addField- & ActionError 方法。 但是在控制器内验证意味着验证整个上下文,这并不能真正解决问题。
我尝试通过 POJO 中的注释进行验证,在如上所述的上下文中,这给了我一些 NullPointerException 好像上下文没有刷新,我认为 struts2 的 xml 验证方法太僵硬了。 (顺便说一句,如何让生成的 javascript 在提供服务之前缩小?为什么有这么多选项?)
Mark 的对话拦截器方法出现了similar problems,这是我没有真正得到的解决方法。也许你可以帮我。
【问题讨论】:
标签: java struts2 validation bean-validation conversation-scope