primefaces:如何在任务完成时显示overlayPanel

时间:2014-10-22 21:17:33

标签: jsf primefaces overlay

我正在尝试在执行java代码后显示overlayPanel

类似的东西:

<p:commandButton id="btn" type="submit" actionListener="#{document.doSomething}" ajax="true"/>

<p:overlayPanel showEvent="oncomplete" for="btn"  appendToBody="true"> 
....                    
</p:overlayPanel>

我希望在document.doSomething完成之后显示overlayPanel。

我在很多方面都在努力,但我做不到。如果我通过“点击”更改“oncomplete”ShowEvent,则会显示面板,但是在document.doSomething完成之前。

我怎样才能做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试在bean中创建booleanProperty,并渲染OverlayPanel ... 在dosomething()中记得将booleanProperty设置为true,并像这样更新overlayPanel:

<p:commandButton id="btn" type="submit" actionListener="#{document.doSomething()}" ajax="true" update="overlayPanelId"/>

<p:overlayPanel id= "overlayPanelId" showEvent="oncomplete" for="btn"  appendToBody="true"         rendered="#{document.booleanProperty}"> 

</p:overlayPanel>
在bean中

private boolean booleanProperty;
getters,
setters

dosomething(){  
something.....
setBooleanProperty(true);
}