2

必須のprimefacesフィールドとp:inputTextフィールドを使用しています。グローバルなp:messagesを使用して必要な情報を表示し、バックエンド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" /> 

そして私のバッキングビーンで

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

定義されていないのになぜ表示され続けるのかわかりません。

4

1 に答える 1

1

p:growlandはデフォルトですべてのp:messagesメッセージを表示するか、属性が設定されている場合はグローバルのみのメッセージを表示します。

ただし、両方のコンポーネントには、使用できるもう1つの優れた属性redisplayがあります。taglibドキュメントからの引用:

すでにレンダリングされたメッセージを表示するかどうかを定義します。デフォルトはtrueです。

すでにレンダリングされたメッセージを表示するコンポーネントの場合、これをfalseに設定します。

<p:growl id="newmessage" showDetail="false" globalOnly="true" 
         redisplay="false" /> 
于 2012-04-18T12:54:05.090 に答える