1

这应该是解决方案的常见问题,但我没有设法在任何地方找到它。

我正在使用 @ControllerAdvice 定义一个全局异常处理程序,我定义了一个新的 ModelAndView 并重定向到我的错误页面。效果很好,除了现在我们要添加一个链接以返回到原始页面,这当然可能会根据错误的来源而有所不同。

我想要做的是存储有关生成错误的控制器的某种上下文信息,例如,如果它是 MyController,那么我可以通过 MyController.EXCEPTION_REDIRECT_URL 访问一个值并生成适当的链接。

我发现异常处理程序中缺少上下文信息,相当有限。

4

1 回答 1

0

创建一个自定义异常类并在异常中传递您的上下文。

class MyException extends Exception {
  private MyController c;
  MyException( String msg, MyController c ) {...}
  ...
}

我确实觉得有更好的方法,可能围绕请求上下文对象。但这正是你想要的。

于 2015-10-03T05:03:29.920 回答