この問題に関する多くの投稿を読みましたが、解決策が見つかりませんでした。
JSF の先頭に、ダイアログを開く commandButton を含むフォームがあります。ダイアログには、ダイアログ内にフォームがあり、プロパティ modal と appendToBody があります。マイページは自動的にリロードされるだけで、ダイアログは表示されません。
<ui:composition template="../templates/site.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:sec="http://www.springframework.org/security/tags">
<ui:define name="content">
<h:form>
<p:commandButton value="Button" id="myButton" onclick="myDialog.show()" />
</h:form>
<p:dialog id="dialog" widgetVar="myDialog"
header="Dialog" closable="true" resizable="false" width="600"
height="350" modal="true" appendToBody="true" dynamic="true">
<h:form>
...
</h:form>
</p:dialog>
</ui:define>
</ui:composition>