Pierwszeństwo dynamicznej nakładkiPanel pokazuje tylko raz

Mam formularz z przyciskiem, który otwiera PrimafacesoverlayPanel. W panelu znajduje się inny przycisk, który wykonuje akcję Ajax, a następnie zamyka nakładkę.
Oto uproszczona wersja bez akcji Ajax:

<h:form>
    <p:commandButton id="button1" value="Open overlay" type="button"/>
    <p:overlayPanel for="button1" widgetVar="ovl" dynamic="true">
        <p:commandButton value="Close" oncomplete="ovl.hide();"
                         update="@form"/>
    </p:overlayPanel>
</h:form>

Pamiętaj, że panel musi miećdynamic="true" ponieważ zawartość dynamiczna musi być pobierana w prawdziwej aplikacji, iupdate="@form" jest potrzebny do aktualizacji innych komponentów formularza.

Problem polega na tym, że jeśli mam oba atrybuty,dynamic="true" iupdate="@form" nakładka pojawia się tylko za pierwszym razem. Po kliknięciu przycisku „Zamknij”, jeśli spróbuję ponownie kliknąć „Otwórz nakładkę”, panel nie pojawi się.

Co ja robię źle?

(Korzystanie z PrimeFaces 3.5 i GlassFish 3.1.2.2)

questionAnswers(3)

yourAnswerToTheQuestion