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

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

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

Как я могу это достичь?

Ответ 1

Сохраните сообщение в флэш-область, Он переберет перенаправление.

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

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

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