У меня проблема с перенаправлением в моем пользовательском ExceptionHandler.ExceptionHandler должен обрабатывать NullPointerExceptions и выполнять перенаправление в случае возникновения исключения.Вот часть обработчика, которая отвечает за перенаправление:
FacesContext fc = FacesContext.getCurrentInstance();
NavigationHandler nav = fc.getApplication().getNavigationHandler();
nav.handleNavigation(fc, null, "error" );
У меня есть простая страница для проверки ExceptionHandler:
<h:outputText value="#{requestTestBean.firstname}" />
И в методе получения для имениЯ навязываю исключение NullPointerException:
Object x = null;
x.toString();
Перенаправление на мою страницу ошибки работает хорошо для этого небольшого примера, но когда я добавляю значительно больше контента на страницу (например, меню с большим количеством записей и значков), перенаправление не 'не работает, потому что ответ уже передан в методе exceptionHandler.Я также пытался перенаправить на страницу ошибки с помощью response.sendRedirect (), но возникли те же проблемы.
Почему ответ уже зафиксирован?Есть ли какие-либо контекстные параметры или что-то еще, чтобы предотвратить это поведение?
Спасибо