更新父jsf页面的组件

时间:2012-07-29 22:52:09

标签: jsf-2

我有一个主jsf页面,它包含一个弹出窗口的链接。

我想更新主jsf页面的一个组件。当我关闭弹出窗口时。

popup.xhtml:

 <h:commandButton value="close" onclick="return window.close();"   
                  action="showDevoir.xhtml"> 
      <f:ajax execute="@form" render=":devoirForm"  />
 </h:commandButton>

main.xhtml

<form id="devoirForm" >

 <p:panel id="devoir" />

</form>

当我关闭弹出窗口时,我想用id =“devoirForm”更新表单的面板组件

2 个答案:

答案 0 :(得分:1)

我看到你正在使用PrimeFaces。

只需使用<p:dialog>代替window.open()。另请参阅showcase。这会在同一个窗口中创建一个<div>元素,因此您可以从那里立即访问主窗体。

答案 1 :(得分:0)

在主页面添加一个更新所述组件的JavaScript函数。从弹出窗口中的onunload事件中调用它。

我不太熟悉重新呈现组件JavaScript的问题;在世界上最糟糕的情况下,您可以添加一个commandButton来刷新组件,使其通过CSS不可见,并使JS启动其click事件(like in this example