Spring @ExceptionHandler и RedirectAttributes
Начиная с Spring 4.3.5 и 5.0 M4, он поддерживает аргументRedirectAttributes в методе@ExceptionHandler.
@ExceptionHandler(MyCustomException.class)
public String handleError1(MyCustomException e, RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("message", "abcdefg");
return "redirect:/viewName";
}
@ExceptionHandler(MultipartException.class)
public String handleError2(MultipartException e, RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("message", e.getCause().getMessage());
return "redirect:/viewName";
}
P.S Read this SPR-14651
Noted
Если вы используете Spring <4.3.5, не добавляйте этотRedirectAttributes в качестве аргумента в метод@ExceptionHandler, иначе Spring не сможет поймать выброшенное исключение.