Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 当我在页面之间切换时,如何使Primefaces咆哮消息可见?_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf 当我在页面之间切换时,如何使Primefaces咆哮消息可见?

Jsf 当我在页面之间切换时,如何使Primefaces咆哮消息可见?,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我有一个带有Primefaces咆哮的JSF页面。我想在页面之间切换时显示消息。这可能吗?在第二页bean的@PostConstruct方法(或构造函数)中,添加FacesMessage,例如: context.addMessage(null, new FacesMessage("Growl Message", "Growl Message Text")); 这是我的解决办法。在重定向之前,它将在当前页面中显示消息 HTML: 请注意,bean必须是@viewscope。我忘了提到一个细节

我有一个带有Primefaces咆哮的JSF页面。我想在页面之间切换时显示消息。这可能吗?

在第二页bean的@PostConstruct方法(或构造函数)中,添加FacesMessage,例如:

context.addMessage(null, new FacesMessage("Growl Message", "Growl Message Text"));  

这是我的解决办法。在重定向之前,它将在当前页面中显示消息

HTML:


请注意,bean必须是
@viewscope
。我忘了提到一个细节:我有一个JSF页面
Accounts
,在那里我可以看到一个用户列表,我还有一个JSF页面,带有用于添加用户的表单。当我添加新用户时,我希望将用户重定向到页面
Accounts
,并显示Primefaces咆哮消息“Success”。在本例中,每当我刷新页面
Accounts
时,我都会看到消息。如何解决此问题?请尝试在咆哮组件定义中添加redisplay=“false”。例如,如果此答案对您有效,请记住使用答案左侧的复选标记将其标记为已批准。谢谢
<h:form prependId="false">
    <p:growl />
    <p:button outcome="gotoABC" id="rdr-btn" style="display: none;" />
    <p:commandButton action="#{bean.process()}" update="@form" />
</form>
public void process(){
    addInfoMsg(summary, msgDetail); //Add msg func
    RequestContext.getCurrentInstance().execute("setTimeout(function(){ $('#rdr-btn').click(); }, 3000);"); // 3 seconds delay. I put the script in Constants to config later.
}