【问题标题】:How to keep FacesMessage displayed如何保持 FacesMessage 显示
【发布时间】:2014-03-11 15:21:55
【问题描述】:

我在我的应用程序中显示消息

但是,这些消息显示的很简短,我希望将它们保留在屏幕上,直到它们被手动关闭。

我怎样才能做到这一点?

已编辑:

我调用生成消息的 run 方法。 我调用组件 pbAjax 然后更新咆哮元素

我用

<p:growl id="growl" />  

<p:commandButton value="Run"  actionListener="#{myBean.run}"    id="btnSubmitCreation" onclick="PF('pbAjax').start();" 

<p:progressBar widgetVar="pbAjax" ajax="true" value="#{progressBean.progress}"  styleClass="animated" >
    <p:ajax event="complete" listener="#{controleBean.onComplete}" update="growl" oncomplete="startButton2.enable()"/>                            
</p:progressBar>

Java 代码:

public void run() {
    ...
    ...
    List<String> messages = expResult.getMessages();
    for (String message:messages){
       FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,message,message));  
    }
} 

【问题讨论】:

  • 您使用哪个组件来显示 Faces 消息?
  • 好吧,我直接在bean实例中写,虽然我确信这不是一个好方法
  • 我的意思是你如何在你的视图中显示 Faces 消息(jsp、xhtml 或任何你使用的东西)。
  • 我已经编辑了,我希望它更清楚,我已经回答了你的问题
  • p:growl标签中添加showDetail="true" sticky="true"然后再试一次

标签: jsf primefaces


【解决方案1】:

只需在咆哮标签中添加sticky="true"即可。

【讨论】:

  • 有一件微妙的事情:我不得不把“update="growl" 也放在 p:commandButton 中,而不仅仅是在 无论如何,谢谢!
猜你喜欢
  • 2015-08-16
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多