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