我提供了一个允许用户为应用程序创建帐户的界面。在流程结束时,注册方法执行注册过程,向页面添加成功消息,然后将用户导航到显示所有系统用户的中央数据表。
我遇到的问题是,由于页面重定向,成功消息永远不会显示。我不能在方法中有wait()因为在方法完成之前不会显示JSF消息。理想情况下,我希望显示成功消息,然后在指定的时间后重定向页面。
我怎样才能做到这一点?
答案 0 :(得分:55)
the flash scope。它将在重定向中存活下来。
context.addMessage(clientId, message);
externalContext.getFlash().setKeepMessages(true);
return "users.xhtml?faces-redirect=true";
请注意,较旧的Mojarra版本具有一些与Flash范围相关的特殊错误:
您最好升级至最低Mojarra 2.1.27 / 2.2.5,以确保您的申请不受此影响。