这是我的Java代码,在调用之前我调用了save()
方法。我想查看此业务规则。
if (endDate.before(startDate)){
message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "",
"The end date should be not before the start date.");
// Throw exception so that it prevents document from being saved
FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.addMessage("travel_endDate",message);
return false;
}
我希望此消息显示在“travel_endDate”组件中。
答案 0 :(得分:1)
添加邮件时,您必须使用组件的客户端ID。
1。)为您的组件添加绑定
<xp:inputText
id="travel_endDate"
binding="#{errorComponent}">
</xp:inputText>
2.)解决保存方法中的变量
UIComponent cmp = (UIComponent) facesContext.getApplication().getVariableResolver().resolveVariable(facesContext, "errorComponent");
String clientId = cmp.getClientId(facesContext);
3。)将带有id的消息添加到facesContext
facesContext.addMessage(clientId,message);