Java ajax请求后重新加载RichFaces错误消息

Java ajax请求后重新加载RichFaces错误消息,java,ajax,jsf,richfaces,Java,Ajax,Jsf,Richfaces,我正在使用名为javacode的定制ajax,它在服务器上进行一些处理。在此过程中,通过addMessage()将各种错误添加到FacesContext。 我希望将这些消息显示在用于验证错误的-标记中 您知道在ajax请求完成后如何在-标记中显示这些消息吗 我最初的想法是增加 请求完成时调用richDisplayError,但消息面板似乎重新呈现为空 默认情况下已将ajaxRendered设置为true。所以问题出在别处。也许: 您正在重定向,而不是转发,邮件将丢失 您实际上并没有添加消息(

我正在使用名为javacode的定制ajax,它在服务器上进行一些处理。在此过程中,通过
addMessage()
将各种错误添加到
FacesContext
。 我希望将这些消息显示在用于验证错误的
-标记中

您知道在ajax请求完成后如何在
-标记中显示这些消息吗

我最初的想法是增加
请求完成时调用richDisplayError,但消息面板似乎重新呈现为空

默认情况下已将
ajaxRendered
设置为
true
。所以问题出在别处。也许:

  • 您正在重定向,而不是转发,邮件将丢失
  • 您实际上并没有添加消息(请使用debug进行检查)
  • 您有不同/缺少视图/子视图

例如,在您的页面中:

    <a4j:commandButton value="Action"
           limitToList="true" 
           action="#{mybean.action}"
           reRender="mymessages">
    </a4j:commandButton>
    <a4j:outputPanel ajaxRendered="true">
       <h:messages id="mymessages"  />
    </a4j:outputPanel>

你需要三样东西:

1st:在“\resources\bundle\errorMessages.properties”文件中声明错误消息,如下所示:

errorMsgToDisplay.errName = Your Error Message Here
2nd:在类代码中声明BUNDLE变量:

private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("/bundle/errorMessages");
3rd:显示消息(例如,在条件之后)


我认为ajaxRendered在这种情况下是无用的,因为我是通过a4j框架进行ajax调用的,但是使用自定义函数。这就是原因吗,这些信息的有效期是多久?当我再打一个电话时,他们迷路了吗?

private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("/bundle/errorMessages");
if  ( condition ) {
FacesContext.getCurrentInstance().addMessage("", new FacesMessage(FacesMessage.SEVERITY_ERROR, 
BUNDLE.getString("errorMsgToDisplay.errName"),
BUNDLE.getString("errorMsgToDisplay.errName")));
}