我使用的是primefaces和p:inputText字段,我使用全局p:消息来显示所需的信息,并且只从后端bean中增长。但是,在检查时会显示p:消息和必填字段的默认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!"));}
我不明白为什么如果没有定义它们会继续出现。
答案 0 :(得分:1)
p:growl
和p:messages
默认显示所有消息,如果设置了属性,则显示全局消息。
但是,两个组件都有另一个很好的属性redisplay
,您可以使用它。引自taglib documentation:
定义是否应显示已呈现的消息。默认是 真。
对于显示已呈现消息的组件,将其设置为false:
<p:growl id="newmessage" showDetail="false" globalOnly="true"
redisplay="false" />