我在a4j:commandButton
和iframe
中有一个a4j:outputPanel
,其中iframe和面板都位于同一页面中。 reRender是否可以点击该按钮上的那个面板?
感谢。
答案 0 :(得分:1)
看起来不可能使用标准的JSF + A4J方法来完成。 iframe
内部的内容是由单独的视图构建的,因此它有自己的JSF组件树。因此a4j:commandButton
和a4j:outputPanel
位于不同的视图(不同的组件树)中,并且无法进行“跨树”重新渲染。
要从iframe访问父页面,您可以尝试使用JavaScript。
例如放到父页面jsFunction,如下所示:
<a4j:jsFunction name="reRenderPanel" reRender="panelId"/>
在iframe中添加以下onclick javascript到commandButton:
<a4j:commandButton onclick="parent.reRenderPanel();"/>