Spring Boot显示不同异常的自定义错误消息

时间:2017-01-04 05:27:21

标签: spring-boot exception-handling

我正在使用DOB创建web application。在我的Spring Boot中,可能会出现一些controller。我需要通知我的最终用户有关这些错误的信息。

例如,在数据库中保存数据时可能会有errors。在这种情况下,我需要显示自定义错误消息。

有时也可能抛出error,需要报告正确的用户友好错误消息。

我读过有关使用exception执行此操作的信息。问题在于这种方法,我需要创建不同的视图(html文件,因为我使用ExceptionHandler)和错误消息。因此,对于每个异常/错误情况,我将需要使用硬编码的错误消息创建单独的HTML文件。

是否可以使用单个error.html页面,并根据Thymeleaf中出现的确切错误自定义该页面中的错误消息?

1 个答案:

答案 0 :(得分:0)

您可以使用Springs MVC表示Model View Controlling。因此,在您拥有将数据保存到数据库的html的页面上,您可以创建仅在需要时显示的html。例如,使用tymeleafs th:switchth:iffind more...

在您的业务逻辑中,您可以创建一个简单的pojo,例如ExecptionMessage,您可以在其中设置您的execption消息。抛出真实的execption时,您可以将特定的execption消息设置为此对象。在您的controller中,您现在可以将ExecptionMessage对象设置为您的视图。

model.addAttribute("execptionMessage", new ExecptionMessage("My Custom message"));

model现已在view中提供,您可以自行决定是否显示该消息。因此,无需为每条错误消息创建新的html。但您可以考虑创建一个thymeleaf template来创建html一次,并在需要时包含fragmentfind more...

<div th:include="footer :: copy">...</div>