如何更新与 <p:commandButton ajax="false"> 关联的消息组件?
How to update message components associated with <p:commandButton ajax="false">?
我需要你的助手在单击非 ajax <p:commandButton>
后更新 JSF 页面中的 <p:message>
组件。目前在这种情况下,我需要验证员工编号是否为空,然后在消息组件中显示错误消息,否则,不显示任何内容。但是现在,单击 <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."));
}
}
那么上面的代码是否正确,点击按钮后如何显示消息?
问题已通过使用 for
指定目标组件得到解决。所以在上面的例子中,我提到了命令按钮,所以我们点击它,应该更新一个特定的消息组件。这可以通过以下方式完成:
<p:message id="message" for="cmd2" showDetail="true"/>
或
<p:message id="message" for="form:cmd2" showDetail="true"/>
我需要你的助手在单击非 ajax <p:commandButton>
后更新 JSF 页面中的 <p:message>
组件。目前在这种情况下,我需要验证员工编号是否为空,然后在消息组件中显示错误消息,否则,不显示任何内容。但是现在,单击 <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."));
}
}
那么上面的代码是否正确,点击按钮后如何显示消息?
问题已通过使用 for
指定目标组件得到解决。所以在上面的例子中,我提到了命令按钮,所以我们点击它,应该更新一个特定的消息组件。这可以通过以下方式完成:
<p:message id="message" for="cmd2" showDetail="true"/>
或
<p:message id="message" for="form:cmd2" showDetail="true"/>