我有一个使用 post 方法的 Controller 。 Controller 的方法验证实体。如果发生一些错误,它会重定向到错误页面,否则会保存实体。我的代码如下所示:
public String createEntity(Entity entity, BindingResult result) {
// Validate here
if(result.hasErrors) {
return "errorPage";
}
service.create(entity);
return "some view";
}
所以现在如果有错误我想把它们全部记录下来。我读过这篇文章
How to get error text in controller from BindingResult
但我不想输入检查。
有什么聪明的方法可以做到这一点吗?
谢谢。
最佳答案
这非常简单,只需将错误列表添加到您的模型
public String createEntity(Entity entity, BindingResult result,Model model) {
// Validate here
if(result.hasErrors) {
model.addAttribute("errors",result.getAllErrors());
return "errorPage";
}else {
service.create(entity);
return "some view";
}
}
稍后在你的jsp中:
<c:if test="${not empty errors}">
//foreach element show error (just an exampl)
</c:if>
关于Spring MVC 如何记录 BindingResult 中的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498001/