我有这个片段:
<h:form> <h:panelGrid columns="2" styleClass="modalYesNo"> <a4j:region id="confirmActionReloadYes"> <a4j:commandButton value="Yes" ajaxSingle="true" action="#{MyBacking.reloadConfig}" oncomplete="window.location.reload()" reRender="blah" /> </a4j:region> <a4j:commandButton value="No" onclick="#{rich:component('confirmActionReload')}.hide();return false;" /> </h:panelGrid> </h:form>
and I notice that when the yes button in the a4j:region above is selected, once the backing bean method reloadCongi()
is complete, the javascript window.location.reload()
is not run. 为什么是这样?我还注意到 reRender 属性中的元素也没有重新渲染。为什么是这样?
编辑 从第一条评论到这个问题的方法是:
public void reloadConfig() {
logger.info("Reloading config.");
pct = pctBackup;
feeds = pct.getFeed();
setSysMsg("Reloaded config OK.", "ok");
}
我在想也许我需要根据上面的设置将返回类型设置为 true 或 false ,看看是否可行。