ВНИМАНИЕ: FacesMessage(s) были поставлены в очередь, но, возможно, не отображались

В моем приложении сообщения лиц не отображаются в пользовательском интерфейсе, не уверен, что именно вызывает эту проблему. В журнале сервера я вижу это:

ВНИМАНИЕ: FacesMessage(s) были в очереди, но, возможно, не отображались.

В чем причина таких ситуаций?

2 ответа

Решение

Убедитесь, что вы разместили <h:message for="..."> или же <h:messages> тег на вашей странице, см. также JSF 2 сообщение и пример сообщения

Другая причина, по которой сообщение об ошибке не отображается, может заключаться в том, что ошибка возникает в фазе RENDER_RESPONSE жизненного цикла JSF. В этом сценарии может быть зарегистрировано предупреждение, которое говорит что-то вроде "FacesMessage (s) были поставлены в очередь, но, возможно, не отображались".

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

В этом случае возможным решением было бы разместить компонент сообщения в конце дерева компонентов. Смотрите также этот блог.

Другие вопросы по тегам