【发布时间】:2016-12-20 00:01:22
【问题描述】:
我正在尝试利用我的应用程序服务层上的现有验证框架,该框架在验证失败时抛出 ValidationException。这个异常对象包含多个错误,我想利用 Spring MVC 中的异常处理程序来提取这些错误并将验证消息返回到视图 (thymeleaf)。
所以我有两个关于如何做到这一点的问题:
1) 我可以从自定义错误对象列表中手动创建 BindingResult 对象以传递给视图层吗?
2) 我可以从基本 Controller 中的处理程序中捕获 ValidationException(可以从多个方法中抛出)并让它拦截响应并返回带有验证消息的视图吗?还是我必须在每个可能被抛出的控制器方法中尝试/捕获这个异常并在那里提取绑定结果?
显然,如果所有这些都发生在一个地方会更好——如果一个处理程序可以捕获 ValidationException 并将错误消息注入视图。但是该方法可以访问返回的模型和视图吗?有关此架构的任何建议都会非常有帮助。
【问题讨论】:
标签: java spring spring-mvc spring-validator