我正在尝试在执行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完成之前。
我怎样才能做到这一点?
提前致谢
答案 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);
}