点击非ajax <p:message>
后,我需要您的助手更新JSF页面中的<p:commandButton>
组件。目前在这种情况下,我需要验证员工编号是否为空,然后在消息组件中显示错误消息,否则,不显示任何内容。但是现在,单击<p:commandButton>
后,表单没有显示任何内容。
以下是JSF代码:
<h:form id="form">
<p:inputText value="#{pdf.refNo}"/>
<p:message id="message" for=":form:cmd2" showDetail="true"/>
<p:commandButton id="cmd2"
value="Validate"
ajax="false"
actionListener="#{pdf.validate}"/>
</h:form>
Java bean是:
public void validate() {
if (refNo.equals("") || refNo == null) {
FacesContext.getCurrentInstance().addMessage(":form:cmd2", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error!", "Please enter the Employee No."));
}
}
上面的代码是否正确以及如何在单击按钮后显示消息?
答案 0 :(得分:1)
通过使用for
来指定目标组件,解决了该问题。所以在上面的例子中,我提到了命令按钮,所以我们点击它,应该更新一个特定的消息组件。这可以通过以下方式完成:
<p:message id="message" for="cmd2" showDetail="true"/>
或
<p:message id="message" for="form:cmd2" showDetail="true"/>