如何从iframe渲染a4j outputpanel

时间:2011-07-28 10:58:51

标签: jsf iframe

我在a4j:commandButtoniframe中有一个a4j:outputPanel,其中iframe和面板都位于同一页面中。 reRender是否可以点击该按钮上的那个面板?

感谢。

1 个答案:

答案 0 :(得分:1)

看起来不可能使用标准的JSF + A4J方法来完成。 iframe内部的内容是由单独的视图构建的,因此它有自己的JSF组件树。因此a4j:commandButtona4j:outputPanel位于不同的视图(不同的组件树)中,并且无法进行“跨树”重新渲染。

要从iframe访问父页面,您可以尝试使用JavaScript。

例如放到父页面jsFunction,如下所示:

<a4j:jsFunction name="reRenderPanel" reRender="panelId"/>

在iframe中添加以下onclick javascript到commandButton:

<a4j:commandButton onclick="parent.reRenderPanel();"/>