Как показать сообщение лиц на перенаправленной странице

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

У меня проблема в том, что сообщение об успехе никогда не отображается из-за перенаправления страницы. У меня не может быть wait() в методе, потому что сообщение JSF не будет отображаться, пока метод не завершится. В идеале я хочу, чтобы сообщение об успехе отображалось, а затем в указанное время страница перенаправлялась.

Как мне этого добиться?

2 ответа

Решение

Храните сообщение во флеш-области. Это переживет перенаправление.

context.addMessage(clientId, message);
externalContext.getFlash().setKeepMessages(true);
return "users.xhtml?faces-redirect=true";

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

Лучше всего обновить Mojarra до версии 2.1.27 / 2.2.5, чтобы это не повлияло на ваше приложение.

Работает, но если я установлю детали для сообщения, они не будут отображаться. В диалоговом окне сообщения о лицах отображается только SEVERITY_INFO и итоговый текст.

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