2012-04-18 108 views
2

我使用的primefaces和p:inputText字段是必需的,我使用全局p:消息来显示所需的信息,并只从后端bean咆哮。但是,在检查时,将显示p:messages和默认p:growl错误消息,以显示必填字段。有谁知道如何禁用默认的咆哮讯息?删除默认的咆哮消息

<p:messages id="messages" autoUpdate="true"/> 
<h:form id="addUser"> 
<p:growl id="newmessage" showDetail="false" globalOnly="true" /> 
<p:inputText id="name" value="#{manageUser.user.name}" required="true" /> 

,并在我的支持bean

if (uf.checkUsernameAvailability(user.getLogin())) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Error", "Username already exists!"));} 

我不明白,如果没有定义他们为什么他们不断出现。

回答

1

默认情况下,p:growlp:messages将显示所有消息或仅设置全局消息。

但是,这两个组件都有另一个很好的属性redisplay,您可以使用。从taglib documentation引用:

定义是否应该显示已呈现的消息。默认为 为真。

此设置为false,显示已呈现信息的组件:

<p:growl id="newmessage" showDetail="false" globalOnly="true" 
     redisplay="false" /> 
+0

能否请您将您的代码,你的问题(这个问题下面的编辑链接)?在评论中很难阅读。 – 2012-04-18 13:22:48

+0

我试过了,这不是问题,因为在其他页面上我没有p:只有咆哮p:消息和咆哮消息仍然出现。 – Questionmark 2012-04-18 14:31:10