te serei sincero cara, como é que diacho tu ta conseguindo executar esse código sem ele estar dentro de um <h:form></h:form>???
kkkkkkkkkk
a ferramenta do datatable, commandbutton, commandlink… etc de commands, são todas renderizadas e pesadas por um form, sem ter elas dentro de um form você, supostamente, não conseguiria nem executá-la.
coloque dentro de um form e veja de está acontecendo a mesma coisa.
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
template="/paginas/layout.xhtml">
<ui:define name="conteudo">
<h:form>
<div class="div-consulta">
<h:outputText id="outNome" value="Nome: " />
<p:inputText id="txtNome" value="#{ClienteFacade.cliente.nome}" maxlength="100"/>
</div>
<div style="margin-left: 25%; padding: 4px;">
<p:commandButton id="btnPesquisar" value="PESQUISAR" actionListener="#{ClienteFacade.pesquisarClientes}" update="tblCliente"/>
<p:spacer height="10" width="20"/>
<p:commandButton id="btnNovo" value="NOVO" action="#{ClienteFacade.iniciarCadastro}" ajax="false" immediate="true"/>
</div>
<p:dataTable id="tblCliente" var="cliente" value="#{ClienteFacade.listaClientes}"
emptyMessage="" rows="10" paginator="true" paginatorPosition="bottom"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {NextPageLink} {LastPageLink}">
<p:column style="width: 400px">
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{cliente.nome}" />
</p:column>
<p:column style="width: 100px">
<f:facet name="header">
<h:outputText value="Telefone" />
</f:facet>
<h:outputText value="#{cliente.telefone}" />
</p:column>
<p:column style="width:32px">
<p:commandButton action="#{ClienteFacade.editarCliente}" image="ui-icon ui-icon-search" ajax="false" immediate="true" alt="Editar Cliente" style="width:30px; height: 25px;">
<f:setPropertyActionListener value="#{cliente}" target="#{ClienteFacade.cliente}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
uma outra dica para que seu código fique mais elegante e menos mesclado. Ao invés de
utilize <h:panelGroup>, assim você poderá trabalhar com mais opções do jsf em uma div. O panelGroup tem a propriedade layout que pode ser definida como block (<h:panelGroup layout=“block”/>) que te viabiliza a mobilidade dele inteiro na página, igual a uma div, só que com atributos JSF, que te deixa mais bem na fita kkkk