我试图在它适用的数据表中的字段旁边放置一条错误消息,但我无法在支持 bean 中识别它。我的表单顶部有一个区域用于非字段特定的错误/信息,但是当错误特定于某个字段(即“电子邮件”)时,我希望消息出现在那里。
这是我的 XHTML:(为了清楚起见,我删除了表单的其他不相关部分)
<h:form styleClass="form" id="DeliveryOptionsForm">
<h:dataTable value="#{sesh.delOptionList}" var="delOption">
<h:outputText id="emailLabel" styleClass="#{(delOption.deliveryOption == 'EMAIL') ? '' : 'hide-field'}" value="Email " />
<h:message class="errorMessage" for="email" id="emailError" />
</h:dataTable>
</h:form>
这是我的支持 bean:
FacesContext.getCurrentInstance().addMessage("DeliveryOptionsForm:email",
new FacesMessage(FacesMessage.SEVERITY_ERROR, "Email address cannot be
left blank when selecting email delivery.", null));
当我运行代码时,我收到错误消息:
[05/06/13 13:50:28:371 PDT] 00000026 RenderRespons W There are some unhandled
FacesMessages, this means not every FacesMessage had a chance to be rendered.
These unhandled FacesMessages are:
- Email address cannot be left blank when selecting email delivery.
有谁知道我做错了什么?我感觉消息的 clientId 设置不正确。