如何使用自定义消息和视图名称在 Spring MVC 3 中处理用户定义的异常(自定义异常例如:“BusinessException”)?
例如 :
如果我从服务层抛出我自己的异常,它应该被捕获并应该重定向到带有消息的指定视图,视图名称可能相同或不同。
我在谷歌搜索,但没有运气。
谢谢。
如何使用自定义消息和视图名称在 Spring MVC 3 中处理用户定义的异常(自定义异常例如:“BusinessException”)?
例如 :
如果我从服务层抛出我自己的异常,它应该被捕获并应该重定向到带有消息的指定视图,视图名称可能相同或不同。
我在谷歌搜索,但没有运气。
谢谢。
你检查过吗@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 中配置它。但是您的错误页面将更像是一个静态页面。
您必须将异常从服务层传播到控制器层,在那里您可以使用声明性异常处理并提供异常以查看 spring 配置 xml 中的映射
- - 解决了 - -
感谢所有帮助我解决问题的人。最后我得到了解决方案。
答案是 Spring 3.1 中的“ExceptionHandlerExceptionResolver”类,通过覆盖“resolveException”方法。
谢谢你们。