Spring MVC - 处理错误的通用方法并传递给查看

时间:2016-12-04 10:30:28

标签: java spring-mvc error-handling

从百里香指南,我看到了以下代码片段:

<ul th:if="${#fields.hasErrors('global')}">
<li th:each="err : ${#fields.errors('global')}" th:text="${err}">Input is incorrect</li>
</ul>

所以,我想是否有一种方法可以从Spring MVC控制器传递错误消息,并使用上面的代码在页面的某处显示错误。

我在方法签名上看到了一些使用BindingResult的在线资源,如下所示。

bindingResult.rejectValue("username", "username.notvalid", "Username is not valid");

但是如果控制器没有验证任何对象怎么办?我还能使用bindingResult吗?

我想我也可以将错误消息作为密钥对添加到模型中,如下所示。

model.addAttributes("error","error message");

但是,我想知道在Spring控制器中是否有一些处理错误的标准方法。

我应该使用异常处理吗?但是如何将错误消息传回视图?

由于

更新了用例:

例如,在方法A中,检测到错误如下。

public String methodA (Model m, RedirectAttributes model){
 if (error == true){
   model.addFlashAttribute("error.message","String");
   return "redirect:MethodB";
 }
}


public String methodB(Model m){
 if(m.containsAttribute("error.message"){
   //Way to pass the error to view page for display.
 }
}

是否应该以这种方式处理错误?它进行第二次操作的原因是因为需要在最终视图页面上显示某些数据。

0 个答案:

没有答案