PrimeFaces Produz objetos nullos

Quero pedir a ajuda de vocês galera do GUJ, não sei a quem recorrer…

É o seguinte tenho um arquivo .xhtml que faz parte de um template.
não vou postar o arquivo porque ele é muito grande.

mas em resumo ele tem as funcionalidades já funcionando alterar, excluir, incluir, deletar,
agora vamos aos fatos… tudo isso foi feito mostrando o arquivo completo, sem restrições de rendered
agora estou usando a propriedade renderend, e update em um <p:commandButton>
então hora exibe minha consulta ao referido objeto, hora exibe a entrada de dados, ou os dados para serem alterados ou excluidos.
até ai tudo bem, ele faz quase tudo, explicando meu arquivo, o que tem nele

<h:form prependId="false" id="formUser">
    <!-- dentro do form tenho os botões vou colocar somente um. -->
   <p:commandButton value="#{msgs.add }" styleClass="cssBtnAdd"   process="@form" async="true" 
          update="formUser" actionListener="#{users.validObject }" action="#{users.add}" >                                                          
           <f:param name="idWrite" value="#{users.userOption }"/>
   </p:commandButton> 
   <h:panelGrid   columns="3" id="panelGridCadastro"  rendered="#{users.userOption == 1}"  >
         <!-- aqui dentro tenho meu cadastro -->
   </h:panelGrid>
   <p:dataTable  var="uservar" value="#{users.listObject}" paginator="true" rows="#{users.page}" selectionMode="single" selection="#{users.user}" dynamic="true" update="display" onselectComplete="userDialog.show()"
                                                rendered="#{users.userOption == 3}" paginatorTemplate="" styleClass="cssUsers">

        <!--      Neste tenho a aprensetaçao da minha consulta.   -->
   </p:dataTable>
   <p:panel styleClass="cssCenterLink" id="pageLink" rendered="#{users.userOption == 3}">
      <!-- neste tenho os meus botões de paginação -->
   </p:panel>
   <p:dialog>
         <!-- tela com mais  dados do meu objeto -->
   <p:dialog>
</h:form>

1º caso, se eu defino o users.userOption == 1, os dados chegam corretamente no meu manageBean, onde nessa opção o usuário vai ver primeiro a tela de adicionar um Objeto, dessa forma reusltado perfeito.
2º caso, mas se eu o users.userOption == 3, aparece a tela de consulta conforme eu programei, ai o que acontece, o usuário clica no botão Adicionar um novo objeto
a tela cadastrar vai aparecer conforme o 1º caso, até ai correto. agora daqui pra frente vem o problema,
feito o cadastro o usuário vai adicionar um novo regristo como no caso 1, os Objetos do manageBean são instanciados, os atributos desse objetos vem todos nullos,
parece que o JSF ou o PrimeFaces não executam os metodos set dos objetos do manageBean.

atuamente estou usando a versão PrimeFaces 2.0.02 antes usava 2.0.03. sugeriram que eu mudasse não resolveu, talvez fosso um bug do framework.
uso meu manageBean com escopo de view.
se eu usar ele como escopo de seção esse problema não ocorre, só que não posso implementar dessa forma, deve ser request no maximo escopo de view.

Algúem já passou por problema semelhante como resolveram isso?
tem post também no site do primeFaces, coloquei lá pra ver se os gringos me ajudavam, mas ta dificil… parece que o problema é mais grave do que se imagina.
http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=3308&sid=ace86d525c545ff96567a6d27b961638
isso esta me tirando o sono já, estou a mais de dois dias pra resolver isso e não sair.

ajudem me por favor. to dando tiro pra todo lado tem que apacerem resultado se não no fim do mes não tem Jaba… hehhe

Obrigado por dedicarem seu tempo em ler o post

Fala rapaz, blz?
Tenta dar uma olhada na minha página xhtml e ver se te ajuda. Parece que tem algumas coisas no seu p:commandButton que podem estar renderizando a página novamente e com isso vc está perdendo os valores antes do submit realmente ter executado.


&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"&gt;


            &lt;!-- essa parte do codigo está dentro do read e body conforme padrão --&gt;
            &lt;script type="text/javascript"&gt;
                function retornaEvento(args) {
                    if(!args.validationFailed) {
                        dlgMensagem.show();
                    }
                }
            &lt;/script&gt;
            &lt;script type="text/javascript" src="${facesContext.externalContext.requestContextPath}/js/jquery.maskedinput-1.2.2.js"&gt;&lt;/script&gt;
            &lt;script type="text/javascript" src="${facesContext.externalContext.requestContextPath}/js/jquery-1.4.2.js"&gt;&lt;/script&gt;
            &lt;script type="text/javascript" src="${facesContext.externalContext.requestContextPath}/js/funcoes.js"&gt;&lt;/script&gt;

        &lt;!-- Fim --&gt;  

   
       &lt;!-- Parte efetiva do código --&gt;
    &lt;p:panel id="pnlCentro" header="#{msg['perfil.detalhe']}"&gt;
        &lt;h:panelGrid id="pgrPerfil" columns="2"&gt;
            &lt;h:outputLabel value="#{msg['perfil.nome']}" /&gt;
            &lt;h:inputText id="iptNome" value="#{perfilController.perfil.nmPerfil}" size="21" maxlength="20"
                         onkeyup="this.value = somenteCaracteres(this.value)" required="true" requiredMessage="#{msg['perfil.nome.requerido']}" /&gt;
            &lt;h:inputHidden /&gt;
            &lt;h:message for="iptNome" styleClass="fonteAlerta" showDetail="true" showSummary="false" /&gt;

            &lt;h:outputLabel value="#{msg['perfil.descricao']}" /&gt;
            &lt;h:inputText id="iptDescricao" value="#{perfilController.perfil.dsPerfil}" size="61" maxlength="60"
                         onkeyup="this.value = somenteCaracteres(this.value)"
                         required="true" requiredMessage="#{msg['perfil.descricao.requerido']}" /&gt;
            &lt;h:inputHidden /&gt;
            &lt;h:message for="iptDescricao" styleClass="fonteAlerta" showDetail="true" showSummary="false" /&gt;

        &lt;/h:panelGrid&gt;
        &lt;div style="text-align: left;"&gt;
            &lt;p:commandButton styleClass="botoes" value="#{msg['botao.fechar']}" 
                             action="/jsf/perfil/exibirPerfis?faces-redirect=true"
                             immediate="true" /&gt;
            &lt;h:outputText value="&#160;" /&gt;
            &lt;p:commandButton styleClass="botoes" id="cbtIncluir" value="#{msg['botao.incluir']}" actionListener="#{perfilController.salvar}"
                             oncomplete="retornaEvento(args)" update="oplMensagem" /&gt;
        &lt;/div&gt;
    &lt;/p:panel&gt;

&lt;/html&gt;

Espero que possa ter ajudado,
Abs,
Lessandro

Lessando obrigado pela dica, mas o que você falau, não é…
fiz conforme sua sugestão mesmo problema.
O que acontece que seu .xhtml é que ele é bem simples ai não da problema, agora o meu ele tem no minimo 4 partes para renderizar
aqueles comandos a mais que eu uso são chamadas Ajax. para reiderizar ou processar determinada parte do arquivo.

Vou tentar usar a versão 2.1 pra ver se resolve meu problema.
usava a 2.0.3 depois 2.2 vou mudar pra 2.0.1…
acho que é um bug do PrimeFaces

mesmo assim muito obrigado por tentar me ajudar!

Então… Esse modulo que coloquei aqui pra vc é o mais simples que tenho, justamente pra vc tentar verificar a questão.
Mas tenho módulos aqui que fazem várias renderizações, em inputText por exemplo, quando o usuário seleciona tipo de pessoa física
ou jurídica, ele libera o campo cnpj ou cpf de acordo com o escolhido, e outras coisas a mais, como renderização de panelGrid no caso
de uma busca que tenho aqui fazendo um like na tabela e trazendo uma lista de clientes por exemplo e selecionando esses caras que eu quero
ele renderiza um dataTable no form Principal e não tive nenhum tipo de problema…
Tem alguma coisa que está rolando ai no seu código que está instanciando um novo cara, ou coisa parecida.
Abs,
Lessandro

Obrigado Lessandro novamente,

já fiz tudo o que você falou, pensava que era isso…
o que eu fiz… comentei todos os meus metodos, coloquei breakpoints,
coloquei a contrução de todos os objetos dentro do meu construtor,
mas mesmo assim… o problema continua.

Qual versão do PrimeFaces que você usa ai?

versão 2.0.2
As outras posteriores não funcionam…

Opa Lessandro é a mesma que eu uso!

É possivel você postar um desses teu arquivos mais complexos ai? gostaria de análizar a árvore de componetes que você tem nele
uma outra pergunta javax.faces.STATE_SAVING_METHOD é server ou client?
Ou isso não tem relação?

Opa Lessandro achei o problema era sim o metodo.

STATE_SAVING_METHOD que estava definido como client,
mudei para server, ai apresentou o resultado esperado.

meu esse foi dificil, Obrigado mesmo assim…