弹簧控制器异常/错误页面呈现

时间:2012-02-07 11:18:44

标签: spring spring-mvc controller

我有以下控制器代码。这将在jquery选项卡式窗格中的表中显示前端的银行列表。当用户单击选项卡时,将调用/bankList.do。 bankList.jsp将在成功标签中呈现。

@RequestMapping(value = "/banksList", method = RequestMethod.GET)
public ModelAndView banksList() throws Exception {
   BankList banksList = bankService.list();
   return new ModelAndView("banksList", "banksList", banksList.getBanks());
}

我不知道如何处理在bankend中抛出的错误/异常。 当银行结束时出现异常时,我想向用户显示以下文本“与后端通信时出错,请稍后再试”。不在选项卡式窗格中显示表。如何在上述控制器中进行更改以实现错误功能。

2 个答案:

答案 0 :(得分:2)

您可以定义@Exceptionhandler - 带注释的方法来处理服务层异常。请参阅16.11 Handling exceptions,尤其是16.11.2 @ExceptionHandler

答案 1 :(得分:1)

这是一种方法,将这样的内容添加到控制器类......

@ExceptionHandler({SomeException.class, SomeOtherException.class})
public String doException(final Exception e, final HttpSession session) {
    LOGGER.error("something failed", e);
    session.setAttribute(UPLOAD_STATUS, false);
    session.setAttribute(ERROR_MESSAGE, e.getMessage());
    return "redirect:" + VIEW_NAME;
}