4

如何使用自定义消息和视图名称在 Spring MVC 3 中处理用户定义的异常(自定义异常例如:“BusinessException”)?

例如 :

如果我从服务层抛出我自己的异常,它应该被捕获并应该重定向到带有消息的指定视图,视图名称可能相同或不同。

我在谷歌搜索,但没有运气。

谢谢。

4

3 回答 3

6

你检查过吗@ExceptionHandler

例如:

@ExceptionHandler(MyBusinessException.class)
public ModelAndView handleMyBusinessException(MyBusinessException e) {
   handle it or log it or redirect to error page after populating a model
}

这具有在 Spring MVC 级别本身处理异常的优点,您可以填充模型并显示有意义的错误页面。

否则,您可以按照其他答案的建议在 web.xml 中配置它。但是您的错误页面将更像是一个静态页面。

于 2012-12-21T07:09:19.550 回答
2

您必须将异常从服务层传播到控制器层,在那里您可以使用声明性异常处理并提供异常以查看 spring 配置 xml 中的映射

于 2012-12-21T19:55:31.990 回答
0

- - 解决了 - -

感谢所有帮助我解决问题的人。最后我得到了解决方案。

答案是 Spring 3.1 中的“ExceptionHandlerExceptionResolver”类,通过覆盖“resolveException”方法。

谢谢你们。

于 2013-01-03T07:02:25.440 回答