Problema com PrimeFaces - versão 2.2.1

Pessoal está a acontencedo umas coisas extranhas.

1-Ao clicar na linha da tabela tem que abrir o Dialog com o objeto selecionado, porem ao clicar abre varios Dialog de uma vez só algum vazios e outros com o objeto seleciona

2- quando clico no meu botão “INCLUIR” as vezes ele abre o dialog e as vezes não, ou seja as vezes funciona as vezes não, porem não gera erro algum,
obs: isso serve para os outro botoes como o “APAGAR” as vezes funciona as vezes não, se eu mudar para h:(jsf) funciona.(no caso do novo que ele abre o dialog n~~ao posso mudar para h: pois não se torna um requisição ajax ai ele não consegui abrir o dialog)

veja meu código

cadastroUsuario.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:f="http://java.sun.com/jsf/core">
<h:head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>Cadastro de Usuários</title>
</h:head>
<f:view>
	<h:body>
		<h:form id="frmGridUsuario">
			<p:growl id="menssagensUsuario"
					 life="3000"/>  
			<p:dataTable widgetVar="dtUsuario"
						 var="usuario" 
						 value="#{usuarioMB.usuarios}" 
						 paginator="true"
						 rows="5" 
						 selection="#{usuarioMB.usuario}" 
						 selectionMode="single"
						 onRowSelectComplete="dlgUsuario.show();"
				         emptyMessage="Nao existe Usuário cadastrado"
				         style="width:70%"
				         update="frmCadastroUsuario">
	 			<p:column sortBy="#{usuario.email}" 
					      filterBy="#{usuario.email}">
					<f:facet name="header">
						<h:outputText value="Email" />
					</f:facet>
					<h:outputText value="#{usuario.email}" />
				</p:column>
				<p:column sortBy="#{usuario.cpf}" 
					      filterBy="#{usuario.cpf}">
					<f:facet name="header">
						<h:outputText value="CPF" />
					</f:facet>
					<h:outputText value="#{usuario.cpf}" />
				</p:column>
	 			<p:column sortBy="#{usuario.nome}" 
				          filterBy="#{usuario.nome}">
					<f:facet name="header">
						<h:outputText value="Nome" />
					</f:facet>
					<h:outputText value="#{usuario.nome}" />
				</p:column>
	 			<p:column sortBy="#{usuario.perfil}" 
					      filterBy="#{usuario.perfil}">
					<f:facet name="header">
						<h:outputText value="Perfil" />
					</f:facet>
					<h:outputText value="#{usuario.perfil}" />
				</p:column>
	 		</p:dataTable>
			<p:panel style="width:69.2%">
				<p:commandLink title="Incluir"
				               oncomplete="dlgUsuario.show();"
				               action="#{usuarioMB.incluir}"
				               update="dlgUsuario">
					<h:graphicImage url="/imagens/novo.jpg"
									style="border:0"/>
				</p:commandLink>
				<p:commandLink title="Apagar"
			               actionListener="#{usuarioMB.apagar}"
			               style="margin-left:20px"
			               update="frmGridUsuario">
					<p:graphicImage url="/imagens/apagar.jpg"
									style="border:0"/>
				</p:commandLink>
				<h:commandLink title="Voltar"
			      	           action="#{usuarioMB.voltar}"
			    	           ajax="false"
			        	       style="margin-left:20px">
					<h:graphicImage url="/imagens/voltar.jpg"
									style="border:0"/>
				</h:commandLink>
			</p:panel>
		</h:form>		
		<h:form id="frmCadastroUsuario">
			<p:dialog id="dlgUsuario"
					  widgetVar="dlgUsuario"
		       		  header="Usuario"
					  width="500"
					  modal="true"> 
				<h:panelGrid columns="2">
					<h:outputLabel value="Nome" 
		   			   	           for="itxNome" />
					<p:inputText id="itxNome"
							     value="#{usuarioMB.usuario.nome}" 
							     size="35"
							     required="true"
							     requiredMessage="Informe o Nome"/>
					<h:outputLabel value="CPF" 
		   			   	           for="mskCpf" />
					<p:inputMask id="mskCpf"
							     mask="999.999.999-99"
							     value="#{usuarioMB.usuario.cpf}"							     
							     required="true"
							     requiredMessage="Informe o Cpf"/>
					<h:outputLabel value="Perfil" 
		   			   	           for="somPerfil" />
					<h:selectOneMenu id="somPerfil"
						     		 value="#{usuarioMB.usuario.perfil}"
						     		 required="true"
						      	   requiredMessage="Informe o Perfil" >
						<f:selectItems value="#{usuarioMB.perfils}"/>
					</h:selectOneMenu>
					<h:outputLabel value="Email" 
		   			   	           for="itxEmail"/>
					<p:inputText id="itxEmail"
							     value="#{usuarioMB.usuario.email}" 
							     size="35"
							     required="true"
							     requiredMessage="Informe o Email"/>
					<h:outputLabel value="Senha" 
		   			   	           for="pswSenha" 
		   			   	           rendered="#{empty usuarioMB.usuario.cpf}"/>
					<p:password  id="pswSenha"
							     value="#{usuarioMB.usuario.senha}" 
							     required="true"
							     requiredMessage="Informe a Senha"
							     rendered="#{empty usuarioMB.usuario.cpf}"/>
					<h:outputLabel value="Confirmar Senha" 
		   			   	           for="pswConfirmarSenha" 
		   			   	           rendered="#{empty usuarioMB.usuario.cpf}"/>
					<p:password  id="pswConfirmarSenha"
							     value="#{usuarioMB.senha}" 
							     required="true"
							     requiredMessage="Informe a Confirmação da Senha"
							     rendered="#{empty usuarioMB.usuario.cpf}"/>
				</h:panelGrid>
				<h:panelGrid columns="2">
					<p:commandLink title="Gravar"
				                   action="#{usuarioMB.gravar}"
				                   rendered="#{empty usuarioMB.usuario.cpf}"
				                   update="menssagensUsuario, itxId, itxNome, mskCpf, somPerfil,itxEmail ,pswSenha, pswConfirmarSenha, frmGridUsuario">
						<p:graphicImage url="/imagens/gravar.jpg"
									style="border:0"/>
					</p:commandLink>
					<p:commandLink title="Alterar"
				                   actionListener="#{usuarioMB.alterar}"
				                   rendered="#{!empty usuarioMB.usuario.cpf}"
				                   oncomplete="dlgUsuario.hide();"
				                   update="menssagensUsuario, itxId, itxNome, mskCpf, somPerfil,itxEmail ,pswSenha, pswConfirmarSenha, frmGridUsuario">
						<p:graphicImage url="/imagens/gravar.jpg"
									style="border:0"/>
					</p:commandLink>
					<p:commandLink title="Alterar Senha"
				                   rendered="#{!empty usuarioMB.usuario.cpf}"
				                   style="margin-left:20px">
				         <p:graphicImage url="/imagens/alterarSenha.jpg"
									style="border:0"/>
					</p:commandLink>
				</h:panelGrid>
			</p:dialog>
		</h:form>
	</h:body>
</f:view>
</html>

Alguem poderia me ajudar? porque acontece isso?

Deste ja agradeço

?

Cara, todo mundo está tendo esses problemas com o primefaces. Não seu dizer se é bug, ou se todo mundo programa errado, eu inclusive.

Tenta o seguinte:
Desabilita o Ajax do primefaces e usa o do core do JSF2.

Passa o botão do primefaces para ajax=false e adiciona a tag <f:ajax render=“quemvcqueratualizar” /> dentro do teu <p:commandLink>

                 &lt;p:commandLink title="Incluir"  
                                oncomplete="dlgUsuario.show();"  
                                action="#{usuarioMB.incluir}"  
                                update="dlgUsuario"   AJAX="false"&gt;  

                     &lt;h:graphicImage url="/imagens/novo.jpg"  
                                     style="border:0"/&gt;  

                      &lt;f:ajax render="quemvcqueratualizar" /&gt;

                 &lt;/p:commandLink&gt; 

e o problema da tabela?

Outra coisa se eu colocar ajax falso no botao ele não abre o dialog

o prime ta chato de trabalhar ultimamente

Já tive este problema, inclusive no meu caso às vezes ele listava registros duplicados, sugiro retirar o paginator e o rows e adicinar scrollable;

<p:dataTable var="var"
					emptyMessage="Nenhum registro encontrado com este critério."
					value="#{usuarioBean.listaUsuario}" 
                    selectionMode="single"
					onRowSelectUpdate="nomeDoForm"
                    id="idTabela"
					scrollable="true"
					width="500" 
                    rendered="true">

Os componentes do prime esta cheio de “buguisinhos”, mesmo assim acho que atualmente é uns dos melhores do mercado.
Outra coisa a questao da tabela eu resolvi, colocando no updade componete por componete,(não colocando um form,ou Dialog algo assim mais amplo).

Uma coisa que eu não consigo fazer funcionar é os rendered dos componentes…tem algum macete?

E no exemplo do meu código o botão GRAVAR E ALTERAR ,não funciona no seguinte caso.

se eu gerar um mensagem de erro la no ManagendBean a mandar como pora pagina.xhtml ela aparece normal, mais quando eu volta a clicar em alguns dois botoes não funciona mais.

Também concordo, tem os bugs mas é um dos melhores do mercado.

Esse problema de gerar n copias do dialog eu também tive, parte era porque o p:dialog estava declarado dentro de um p:layout (que não é teu caso) e o principal era porque algum dos ‘update’ ajax não estava declarado, fazendo com que forçasse a atualizar a página inteira, com isso uma nova cópia do dialog era criada a cada atualização (doido né).
Me parece que essa questão do update é uma das diferenças básicas entre o p:ajax (incluindo os embutidos nos componentes) e o f:ajax. O default de um é atualizar @all e do outro @this

Cara,

comigo aconteceu o mesmo problema, eu resolvi usando uma tag

<h:link value="Logout" ajax="false" outcome="#{loginController.logout}" />

Algo mais ou menos assim. Tentei button e commandlink mas só funcionou assim.