我提供了一个允许用户为应用程序创建帐户的界面.在该过程结束时,注册方法执行注册过程向页面添加成功消息,然后将用户导航到显示所有系统用户的中央数据表.
我遇到的问题是,由于页面重定向,成功消息永远不会显示.我不能在方法中有wait()因为在方法完成之前不会显示JSF消息.理想情况下,我希望显示成功消息,然后在指定的时间后重定向页面.
我怎样才能做到这一点?
我正在开发JSF 2 Web应用程序,并在页面之间使用隐式导航来指定结果值和更改URL值.我也有一些Ajax请求能够在某些页面中进行更改而无需提交所有内容.
例如,当我编辑用户的数据并保存更改时,我的问题就出现了.Managed Bean保存用户数据并返回String以导航到用户列表.正确保存用户后,FacesMessage在操作方法完成之前添加a .
按键
<p:commandButton value="#{msg.UPDATE}" action="#{manager.actionSave}"
ajax="false" />
Run Code Online (Sandbox Code Playgroud)
代码进入方法
FacesContext.getCurrentInstance().addMessage(clientId,
new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg));
Run Code Online (Sandbox Code Playgroud)
但是,即使我的<h:messages />主页面上有标签,也没有显示任何内容.