Попытка перенаправить представление после исключения с помощью Spring Boot

#java #spring #spring-boot

#Ява #весна #пружинный ботинок

Вопрос:

У меня возникли проблемы с перенаправлением любого исключения на страницу с ошибкой. При возникновении ошибки вызывается метод, но перенаправление страницы не происходит, продолжаясь в том же, который выполняет действие. Код метода выглядит следующим образом:

 @ControllerAdvice public class GlobalExceptionHandler extends RuntimeException {   private Logger logger = Logger.getLogger(GlobalExceptionHandler.class);   @ExceptionHandler(value = Exception.class)  public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception{  logger.info("Tratando erro de exception.");  logger.error("ERRO: "   e);   ModelAndView mav = new ModelAndView();  mav.setViewName("vixe");  return mav;  } }  

На скриншоте показано, что исключение произошло во время выполнения, но на странице ничего не меняется: Ошибка выполнения

Комментарии:

1. Почему вы продлеваете RuntimeException контракт ?

2. Это была одна из попыток смягчить проблему, но безуспешно. Я просто забыл убрать

3. Никаких авансов. по — прежнему остается на том же экране

Ответ №1:

Я наконец понял, что происходит. Тот факт, что javascript делает запрос и запускает ошибку, чтобы вернуть сообщение, сделал ненужным вызов представления в методе обработки. Что я сделал, так это обработал ajax, сделав вызов страницы в случае ошибки запроса.

 $.ajaxSetup({  error: function (x) {  if (x.status == 500) {  window.location.replace("vixe")  }  }  });  

Поэтому, если я звоню при загрузке страницы или в конце запросов, выполняется проверка ошибок и запускается экран ошибок.