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