【问题标题】:primefaces: how to show an overlayPanel when a task finishesprimefaces:如何在任务完成时显示覆盖面板
【发布时间】:2014-10-22 21:17:32
【问题描述】:

我试图在 java 代码执行后显示一个覆盖面板

类似这样的:

<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 完成之前。

我怎样才能做到这一点?

提前致谢

【问题讨论】:

    标签: jsf primefaces overlay


    【解决方案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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 2012-02-08
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      相关资源
      最近更新 更多