Всякий раз, когда возникает ошибка во время загрузки фаслета JSF, JSF останавливает отображение страницы в момент возникновения ошибки и вместо этого показывает страницу ошибки (поведение по умолчанию). Я хочу, чтобы JSF продолжал отображать страницу и отображал исключение/ошибку на странице. Например, если страница загружает «портлет», выдающий исключение, это исключение будет отображаться в портлете в виде текста. Я не хочу, чтобы вся страница перенаправлялась на отдельную страницу с ошибкой.
Я инициализировал свои собственные реализации ExceptionHandlerFactory и ExceptionHandler и могу успешно перебрать ExceptionQueueEvents. Однако я не знаю, как указать JSF продолжать загрузку страницы, несмотря на ошибку. Это вообще правильный подход? Вызывается ли ExceptionHandler после (как я полагаю) или в середине обработки лицевой панели? Если после, могу ли я что-нибудь сделать в моем ExceptionHandler?
Я знаю, что должен:
- Скрыть части, к которым пользователь не может получить доступ (мой конкретный случай связан с безопасностью, когда пользователь пытается загрузить контент, на который у него нет прав. Однако я ищу глобальный ответ на это)
- Вручную обрабатывайте ошибки, чтобы не возникали непредвиденные исключения.
Однако я хочу, чтобы пользователь мог продолжать использовать систему, несмотря на незначительный сбой компонента (например, если какой-либо портлет новостной ленты выдает ошибку, которая не должна мешать пользователю видеть другой контент и использовать его).
Я использую Мохарру 2.0.2. Я чувствую, что это очень просто решить, но я не могу понять это :(