【发布时间】:2016-03-09 10:31:57
【问题描述】:
我们的开发团队正在构建一个使用jasper-reports 6.2.0、spring-mvc 3.2.14、java-ee-7、tomcat 8 的应用程序,在前端我们使用angularjs。我们的rest 申请都是通过ajax 提出的。
该应用程序完全构建为接收json 对象作为我们申请的响应,因为我们通过angularjs 的申请都是通过Ajax 进行的。在一个特定的应用程序功能中,我们有一个使用window.location = url 的常规获取请求,因为我们需要返回一个流,它只不过是一个包含 PDF 文件内容的字节数组。
话虽如此,当我们在生成此 PDF 文件时遇到后端错误时,我们的应用程序会将用户重定向到一个空白屏幕,其中打印了一个 json 对象。
我已经在每个异常情况下全局处理spring-mvc 异常,使用带有ExceptionHandler 注释的异常处理或每个ControllerAdvice 来概括异常处理,但始终在控制器层中处理带有注释的类Controller 返回一个 ModelAndView 对象,但绝不会在服务层中使用 Service 注释的类。
我的问题是,当我们定期获取请求时,如何捕获异常并使应用程序将用户重定向到带有一些参数化消息的错误屏幕。
【问题讨论】:
标签: jasper-reports spring-mvc java-ee-7 tomcat angularjs rest ajax json angularjs json spring-mvc java angularjs json ajax spring-mvc