将错误消息从Java Server代码传递给XPage客户端

时间:2015-08-13 04:55:45

标签: java xpages

这是我的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”组件中。

1 个答案:

答案 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);