Spring 3.1 MVC-表单处理工作流程最佳实践
问题内容:
目前,我试图了解Spring MVC 3.1中表单提交/验证/错误处理的正确工作流程。不,我有一些问题。
- 保留表单错误,通过重定向绑定模型的正确方法是什么(是否有内置的方法-我还没有找到)
- 我知道我可以使用Spring表单标签和JSR 303来验证(包括i18n消息)提交的表单值。但是,处理在处理给定值时发生的错误的正确方法是什么?(例如,无法注册-电子邮件已经注册)从Struts或非Java框架中,我知道类似ActionErrors的东西。在Spring MVC中做这件事的正确方法是什么?
- 遍历通过“ form:errors”标签可用的表单错误的正确方法是什么?我只想显示一个错误列表。
问题答案:
1)在Spring 3.1中,您可以使用RedirectAttributes。它们是专门为Post / Redirect / Get
screnario设计的。
2)我认为JSR-303验证器应该简单,自力更生且彼此独立。尽管可能以访问其他持久性实体等的方式来编写它们,但这不是最佳实践。我亲自检查控制器中是否有重复的电子邮件。如果电子邮件已经存在-
我将新的FieldError添加到BindingResult中。