我在iframe和a4j:outputPanel中有一个a4j:commandButton,其中iframe和面板都驻留在同一个页面中。是否可以在单击按钮时对面板执行reRender操作?
谢谢。
发布于 2011-07-28 20:12:46
这看起来不可能使用标准的JSF+A4J方法来完成。iframe内部的内容是由对单独视图的单独请求构建的,因此它有自己的JSF组件树。因此,a4j:commandButton和a4j:outputPanel处于不同的视图(不同的组件树)中,因此不可能进行“跨树”重新渲染。
要从iframe访问父页面,您可以尝试使用JavaScript。
例如put到父页面jsFunction,如下所示:
<a4j:jsFunction name="reRenderPanel" reRender="panelId"/>在iframe中,将以下onclick javascript添加到commandButton中:
<a4j:commandButton onclick="parent.reRenderPanel();"/>https://stackoverflow.com/questions/6857862
复制相似问题