… Complementando a última msg que deixei… eu utilizo na página 2 p:dialog e se eu retirar o appendToBody e colocar modal=“false” funciona normalmente os dois p:dialog e seus respectivos p:commandButton.
Olá web4u,
Você usa <p:layout/>?
Att.
Coloquem ajax = true e o immediated = true no botão
Fala ae Joao.Gabriel.
Uso layout sim.
Estou aqui quebrando a cabeça com isso.
Achei alguns links e estou fazendo um caso de teste aqui neste momento.
http://www.java2s.com/Questions_And_Answers/JSF/PrimeFaces/appendToBody.htm
Já eu volto pra informar.
Resolvido!!! haha
Acho que nós estamos dando bobeira com relação a montagem da estrutura da página.
No meu caso eu utilizo tanto ui:composition e p:layout e tenho 2 p:dialog.
Meus 2 p:dialog estão com modal=“true” e appendToBody=“true”.
O que eu fiz foi o seguinte:
1 - Deixei um <h:form> para o conteúdo da minha lista no dataTable.
2 - Para um p:dialog dentro dele eu coloquei um <h:form id='form">
por exemplo:
<p:dialog … >
<h:form id=“form1”>
<h:panelGrid … >
<p:commandButton id=“btn1” value=“Enviar” actionListener="#{teste.executar}" ajax=“false”/>
</h:panelGrid>
</h:form>
</p:dialog>
3 - E o outro p:dialog dentro dele eu tb coloquei um form só para ele, mas com um id diferente:
<p:dialog … >
<h:form id=“form2”>
<h:panelGrid … >
<p:commandButton id=“btn2” value=“Enviar” actionListener="#{teste.executar}" ajax=“false”/>
</h:panelGrid>
</h:form>
</p:dialog>
Pronto!
Comigo deu certo!

Vê aí se resolve para vcs, caso contrário deixa aí que tentamos ajudar.
Vou comparar a sua solução com a adotada aqui e te aviso.
Obrigado!