Primefaces: p:inputtext do p:dialog retornando null [RESOLVIDO]

2 respostas
K

Olá comecei a pouco tempo utilizar primefaces e estou criando um cadastro de usuário. O p:dialog do cadastro é aberto em um p:dialog do login apos o clicar no link “clique aqui”, mas quando executo o metodo para salvar esse usuário, acaba retornando NULL para todos os p:inputtext
Estou usando as tags de @Managed Bean e @SessionScoped para a classe usuario

Index

<p:dialog id="dialog" header="Login" widgetVar="dlg" resizable="false"> 
                    <!--Painel do Botão Login-->
                    <h:form id="formlogin">
                        <h:panelGrid columns="1" cellpadding="5">  
                            <h:outputLabel for="username" value="Username:" />  
                            <p:inputText value="#{autenticacao.loginAutenticacao}"   
                                         id="username" required="true" label="username" immediate="true" />  
                            <h:outputLabel for="password" value="Password:" />  
                            <h:inputSecret value="#{autenticacao.senhaAutenticacao}"   
                                id="password" required="true" label="password" /> 
                            <h:outputLabel value="Não Possui Cadastro">
                                <h:form id="formloginlink">
                                    <p:commandLink value="Clique aqui" onclick="dlg.hide();dlgusuario.show()"></p:commandLink>
                                </h:form>
                                    
                            </h:outputLabel>
                            
                            <f:facet name="footer">  
                                <h:form id="formloginbotao">
                                <p:commandButton id="loginButton" value="Login"   
                                                 action="#{autenticacao.login()}"   
                                oncomplete="handleLoginRequest(xhr, status, args)"/>  
                                </h:form>
                            </f:facet>
                        </h:panelGrid>  
                    </h:form>
                </p:dialog>
                 <!--Painel para o cadastro-->
                  <p:dialog id="dialogcadastro" header="Cadastro de Usuario" widgetVar="dlgusuario" resizable="false"> 
                      <h:panelGrid columns="4" cellpadding="5">
                            <h:outputLabel for="nome" value="Nome:" />  
                            <p:inputText value="#{usuario.nomeUsuario}"   
                                         id="nome" required="true" label="nome" immediate="true"/>
                            <h:outputLabel for="rg" value="RG:" />  
                            <p:inputText value="#{usuario.rgUsuario}"   
                                         id="rg" required="true" label="rg" immediate="true"/>
                            <h:outputLabel for="cpf" value="CPF:" />  
                            <p:inputText value="#{usuario.cpfUsuario}"   
                                         id="cpf" required="true" label="cpf" immediate="true"/>
                            <h:outputLabel for="instituicao" value="Instituicao:" />  
                            <p:inputText value="#{usuario.fkCodigoInstituicao}"   
                                         id="instituicao" required="true" label="instituicao" immediate="true"/>
                             <h:outputLabel for="login" value="Login:" />  
                             <p:inputText value="#{autenticacao.loginAutenticacao}"   
                                         id="login" required="true" label="login" immediate="true"/>
                             <h:outputLabel for="senha" value="Senha:" />  
                             <h:inputSecret value="#{autenticacao.senhaAutenticacao}"   
                                         id="senha" required="true" label="senha" immediate="true"/>
                             <h:form>  
                             <h:commandButton id="cadastrousuario" value="Cadastrar" action="#{usuario.createUsuario()}">
                                 </h:commandButton>
                             </h:form>
                        </h:panelGrid>
                </p:dialog>

Metodo para criar usuario

public String createUsuario(){
        EntityManagerFactory factory =
        Persistence.createEntityManagerFactory("tcc");
        EntityManager manager = factory.createEntityManager();
        int codigo=1;
        Instituicao instituicao=new Instituicao();
        instituicao.setCodigoInstituicao(codigo);
        manager.getTransaction().begin();
        Usuario usuario=new Usuario();
        JOptionPane.showMessageDialog(null,rgUsuario);
        usuario.setNomeUsuario(nomeUsuario);
        usuario.setRgUsuario(rgUsuario);
        usuario.setCpfUsuario(cpfUsuario);
        usuario.setFkCodigoInstituicao(instituicao);
        manager.persist(usuario);
        manager.getTransaction().commit();
        Roles roles=new Roles();
        roles.setCodigoRoles(2);
        new Autenticacao().createAutenticacao(usuario,roles);
        manager.close();
        factory.close();
        return null;
    }

Agradeço a quem puder ajudar

2 Respostas

A

O form está cricundando apenas o commandButton enquanto deveria pegar todos os campos:

<p:dialog id="dialogcadastro" header="Cadastro de Usuario" widgetVar="dlgusuario" resizable="false">   
                 <h:form>  
                     <h:panelGrid columns="4" cellpadding="5">  
                           <h:outputLabel for="nome" value="Nome:" />    
                           <p:inputText value="#{usuario.nomeUsuario}"     
                                        id="nome" required="true" label="nome" immediate="true"/>  
                           <h:outputLabel for="rg" value="RG:" />    
                           <p:inputText value="#{usuario.rgUsuario}"     
                                        id="rg" required="true" label="rg" immediate="true"/>  
                           <h:outputLabel for="cpf" value="CPF:" />    
                           <p:inputText value="#{usuario.cpfUsuario}"     
                                        id="cpf" required="true" label="cpf" immediate="true"/>  
                           <h:outputLabel for="instituicao" value="Instituicao:" />    
                           <p:inputText value="#{usuario.fkCodigoInstituicao}"     
                                        id="instituicao" required="true" label="instituicao" immediate="true"/>  
                            <h:outputLabel for="login" value="Login:" />    
                            <p:inputText value="#{autenticacao.loginAutenticacao}"     
                                        id="login" required="true" label="login" immediate="true"/>  
                            <h:outputLabel for="senha" value="Senha:" />    
                            <h:inputSecret value="#{autenticacao.senhaAutenticacao}"     
                                        id="senha" required="true" label="senha" immediate="true"/>  
                             
                            <h:commandButton id="cadastrousuario" value="Cadastrar" action="#{usuario.createUsuario()}">  
                                </h:commandButton>  
                     </h:form>  
               </h:panelGrid>  
         </p:dialog>
K

Obrigado ayslanms era isso mesmo
que erro mais bobo cara, to ate rindo aqui…fucei em todo que é canto menos nisso.

Criado 16 de outubro de 2012
Ultima resposta 16 de out. de 2012
Respostas 2
Participantes 2