我们正在将应用程序迁移到较新版本的 RichFaces 和 JSF(我相信分别为 4.2.2 和 2.0),并且我正在尝试进行必要的调整以使应用程序像以前一样运行(我没有大量使用 jsf/richfaces 的经验)。
在我们的一个页面上,当我们单击一个按钮时,我们需要显示一个弹出窗口,上面写着“请稍等...”,并且在处理完成后,弹出窗口需要消失。我开始尝试这样的事情:
<a4j:commandButton id="viewEditTop" value="#{SearchBean.mode}"
action="#{SearchResultsBean.processSelected}"
styleClass="generalButton" onclick="#{rich:component('wait-dialog')}.show()" oncomplete="#{rich:component('wait-dialog')}.hide()"/>
但是 oncomplete 似乎没有触发。弹出窗口会显示,但永远不会消失。经过大量研究并尝试了各种事情(主要是尝试调用 a4j:status 并尝试查找有关如何触发 oncomplete 以及状态等的详细信息),我不知道下一步该做什么。
有谁知道如何让oncomplete触发?或者如果我应该使用 a4j:status,我将如何让状态正常工作?我定义了状态,添加了“onstart”和“onstop”来显示/隐藏弹出窗口,并将我的 a4j:commandButton 状态设置为引用我创建的状态,但它不起作用。
谢谢!