Spring MVC 如何记录 BindingResult 中的所有错误

标签 spring model-view-controller controller

我有一个使用 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/

相关文章:

java - Spring data mongo GridFsOperation.findOne 找不到第一个

asp.net-mvc - 如何仅更新 MVC 中已更改的模型属性?

ruby-on-rails - 哪个 MVC 层应该处理 child 领取玩具?

java - Hibernate延迟加载重复数据

java - 运行junit时出现空指针异常

javascript - 主干设计查询

ruby-on-rails - 将 Rails form_for 路由到自定义 Controller 的语法

java - 可以在 HttpServletResponse.sendRedirect() 中发送隐藏参数吗?

ios - 如何在 MVC 中测试 Controller 类?

Spring boot,通过集成测试用例读取 yml 属性