我是Spring的新手,需要一点指导。我有通过Spring教程,但找不到我要找的东西。我想知道处理这种情况的最佳方法是什么:
我假设这是这种情况的正确流程。如果没有,请告诉我。如果这是正确的流程,我如何将绑定/验证错误传递给模板?
答案 0 :(得分:0)
在这种情况下,请关注Post/Redirect/Get pattern流程。当服务器端验证失败(result.hasErrors()
)时,不重定向,但再次显示索引页。 Spring处理将错误传递给模板。要显示错误,请使用支持Spring MVC的模板引擎的功能(例如,显示JSP中的所有错误 - <form:errors path="*" element="div" />
)。
@Controller
public class MyController {
@RequestMapping(value="/index.html", method=RequestMethod.GET)
public String display(@ModelAttribute MyForm myForm){
return "index";
}
@RequestMapping(value="/process.do", method=RequestMethod.POST)
public String processForm(@ModelAttribute @Validated MyForm myForm,
BindingResult result) {
if(result.hasErrors()){
return display(myForm);
}
return "redirect:/processed.html";
}
}