JSF 2.1 +PrimeFaces3.3ページがあります。
<h:form id="particluar">
<p:message id="msg" globalOnly="true" display="text"/>
<h:panelGrid columns="2" id="test">
<h:panelGrid id="panel2" columns="3">
<p:inputText id="name1" value="Student.studentID" required="true"/>
<p:commandButton value="Check Name" actionListener="#{Student.abc}" process="name1" update="panel2" />
<p:message id="msg1" for="name1" display="text"/>
</h:panelGrid>
<p:inputText id="name2" required="true"/>
<p:message id="msg2" for="name2" display="text"/>
<p:inputText id="name3" required="true"/>
<p:message id="msg3" for="name3" display="text"/>
</h:panelGrid>
<p:commandButton value="submit" actionListener="#{Student.xyz}" update="particluar" />
</h:form>
名前が無効な場合、手動で顔メッセージを追加しようとしています:
public void xyz() {
if (name1.equals("primefaces")) {
FacesContext.getCurrentInstance().addMessage("msg1", new FacesMessage(FacesMessage.SEVERITY_ERROR,"Invalid Name", "Invalid Name"));
}
if (name2.equals("primefaces")) {
FacesContext.getCurrentInstance().addMessage("msg2", new FacesMessage(FacesMessage.SEVERITY_ERROR,"Invalid Name", "Invalid Name"));
}
if (name3.equals("primefaces")) {
FacesContext.getCurrentInstance().addMessage("msg3", new FacesMessage(FacesMessage.SEVERITY_ERROR,"Invalid Name", "Invalid Name"));
}
}
ただし、それらは表示されず、サーバーログは次の警告を出力し続けます。
未処理のFacesMessageがいくつかあります。これは、すべてのFacesMessageがレンダリングされる機会があったわけではないことを意味します。
ページに表示するにはどうすればよいですか?
また、2番目の質問ですが、3つの空の入力フィールドを含むフォームを送信すると、に<p:message>
関連付けられたそれぞれに「必須の入力エラーメッセージ」が表示されます<p:inputText>
。どうすればそれらを表示でき<p:message globalOnly="true">
ますか?