title: JSF Jumps from Phase 1 to 6
body: <p>My code does not write the data in my beans, I made a debug in the life cycle and found that it was jumping straight to the phase 1 to 6. I find no error in my code, could someone help me? My Bean and xHTML:</p>
  
  <pre><code>    package br.com.banco.controller;
  
  import javax.annotation.PostConstruct;
  import javax.faces.component.html.HtmlInputText;
  import javax.faces.component.html.HtmlOutputText;
  import javax.faces.event.ValueChangeEvent;
  
  import org.hibernate.Session;
  
  import br.com.banco.model.bean.Candidato;
  import br.com.banco.model.bean.Documento;
  import br.com.banco.model.bean.Endereco;
  import br.com.banco.model.dao.HibernateDAO;
  import br.com.banco.util.FacesContextUtil;
  
  @javax.faces.bean.ManagedBean (name="bBCandidato")
  @javax.faces.view.ViewScoped
  public class BBCandidato {
  
      private Candidato candidato;
      private Documento documento;
      private Endereco endereco;
      private java.util.List&lt;Candidato&gt; candidatos;
  
      private Session session;
      private HibernateDAO&lt;Candidato&gt; candidatoDAO;
      private HibernateDAO&lt;Documento&gt; documentoDAO;
      private HibernateDAO&lt;Endereco&gt; enderecoDAO;
  
      @PostConstruct
      public void init(){
          session = FacesContextUtil.getRequestSession();
          candidatoDAO = new HibernateDAO&lt;Candidato&gt;(Candidato.class, session);
          documentoDAO = new HibernateDAO&lt;Documento&gt;(Documento.class, session);
          enderecoDAO = new HibernateDAO&lt;Endereco&gt;(Endereco.class, session);
          candidato = new Candidato();
          documento = new Documento();
          endereco = new Endereco();
      }
  
      public java.util.List&lt;Candidato&gt; listar(){
          if(candidatos == null){
              candidatos = candidatoDAO.getBeans();            
          }
          return candidatos;
      }
  
      public void salvar(){
          System.out.println("Testandooo");
          candidatoDAO.salvar(candidato);
          documento.setDoc_codigo(candidato.getCan_codigo());
          documentoDAO.salvar(documento);
          endereco.setEnd_codigo(candidato.getCan_codigo());
          enderecoDAO.salvar(endereco);
      }
  
      public void atualizar(){
          System.out.println("Testandooo");
          candidatoDAO.atualizar(candidato);
          documentoDAO.atualizar(documento);
          enderecoDAO.atualizar(endereco);
      }
  
      public void remover(){
          candidatoDAO.excluir(candidato);
      }
  
      public Candidato getCandidato(){
          return candidato;
      }
  
      public void setCandidato(Candidato candidato){ 
          this.candidato = candidato; 
      }
  
      public Documento getDocumento() {
          return documento;
      }
  
      public void setDocumento(Documento documento) {
          this.documento = documento;
      }
  
      public Endereco getEndereco() {
          return endereco;
      }
  
      public void setEndereco(Endereco endereco) {
          this.endereco = endereco;
      }
  
  }
  
  
  
  
  
  &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:f="http://java.sun.com/jsf/core"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui"&gt;
  
  &lt;body&gt;
      &lt;ui:composition template="/template/master.xhtml"&gt;
      &lt;ui:define name="conteudo"&gt;
  
          &lt;h:form id="frmTblCandidato"&gt;
              &lt;p:dataTable 
              id="tblCandidato"
              value="#{bBCandidato.listar()}" var="candidato"     
              rowKey="candidato.can_codigo" selectionMode="single"
              paginator="true" rows="10" rowsPerPageTemplate="5,10,15"&gt;
  
  
                  &lt;p:column filterBy="#{candidato.can_nome}" headerText="Nome"&gt;
                      &lt;h:outputText value="#{candidato.can_nome}"/&gt;
                  &lt;/p:column&gt;
  
                  &lt;p:column headerText="Data de Registro"&gt;
                      &lt;h:outputText value="#{candidato.can_dataregistro}"/&gt;
                  &lt;/p:column&gt;
  
                  &lt;p:column headerText="RG"&gt;
                      &lt;h:outputText value="#{candidato.documento.doc_identidade}"/&gt;
                  &lt;/p:column&gt;
  
                  &lt;p:column headerText="CPF"&gt;
                      &lt;h:outputText value="#{candidato.documento.doc_cpf}"/&gt;
                  &lt;/p:column&gt;
  
                  &lt;p:column headerText="Alterar" style="text-align:left, width: 1px"&gt;
                      &lt;p:commandButton process="@form" value="Alterar" title="Alterar Candidato"
                                          oncomplete="dialogCandidato.show()"
                                          update=":frmCandidatoModal"&gt;
                      &lt;f:setPropertyActionListener target="#{bBCandidato.candidato}" value="#{candidato}"/&gt;                               
                      &lt;/p:commandButton&gt;
                  &lt;/p:column&gt;
  
                  &lt;p:column headerText="Excluir" style="text-align:left; width:1px"&gt;
                      &lt;p:commandButton value="Excluir" title="Excluir"
                                      onclick="confirmation.show();"
                                      update=":frmRemoveCandidato"&gt;
                      &lt;f:setPropertyActionListener target="#{bBCandidato.candidato}" value="#{candidato}"/&gt;
                      &lt;/p:commandButton&gt;              
                  &lt;/p:column&gt;
  
              &lt;/p:dataTable&gt;
          &lt;/h:form&gt;
  
  
  
          &lt;p:dialog id="dialog" header="Candidato" widgetVar="dialogCandidato"
          appendToBody="true" resizable="false" closable="false"
          modal="true" showEffect="fade" hideEffect="fade" width="500" &gt;
  
                  &lt;h:form id="frmCandidatoModal"&gt;
  
                      &lt;p:panelGrid id="infosCandidato" columns="3" style="margin-bottom:10px"&gt;
                          &lt;!-- 
                          &lt;p:outputLabel for="d_registro" value="Data Registro: *"/&gt;
                          &lt;p:calendar id="d_registro" value="#{bBCandidato.candidato.can_dataregistro}" label="Data_Registro" pattern="dd/MM/yyyy" showOn="button" navigator="true"/&gt;
  
                          &lt;p:outputLabel for="d_nascimento" value="Data Nascimento: *"/&gt;
                          &lt;p:calendar id="d_nascimento" value="#{bBCandidato.candidato.can_datanascimento}" navigator="true" pattern="dd/MM/yyyy" showOn="button" label="Data_Nascimento"/&gt;
  
                          &lt;p:outputLabel for="etnia" value="Etnia: *"/&gt;
                          &lt;p:inputText id="etnia" value="#{bBCandidato.candidato.can_etnia}" label="Etnia"/&gt;
  
                          &lt;p:outputLabel for="sexo" value="Sexo: *"/&gt;
                          &lt;p:inputText id="sexo" value="#{bBCandidato.candidato.can_sexo}" label="Sexo"/&gt;
                          --&gt;
                          &lt;p:outputLabel for="nome" value="Nome: *"/&gt;
                          &lt;h:inputText id="nome" value="#{bBCandidato.candidato.can_nome}" label="Nome"
                          binding="#{bBCandidato.inputValue}"
                          valueChangeListener="#{bBCandidato.inputChanged}"&gt;
                          &lt;f:converter converterId="myConverter"/&gt;
                          &lt;f:validator validatorId="myValidator"/&gt;
                          &lt;/h:inputText&gt;
                          &lt;!-- 
                          &lt;p:outputLabel for="nome_mae" value="Nome da Mãe: *"/&gt;
                          &lt;p:inputText id="nome_mae" value="#{bBCandidato.candidato.can_mae}" label="Nome_mae"/&gt;
  
                          &lt;p:outputLabel for="nome_pai" value="Nome do Pai: *"/&gt;
                          &lt;p:inputText id="nome_pai" value="#{bBCandidato.candidato.can_pai}" label="Nome_pai"/&gt;
  
                          &lt;p:outputLabel for="tipo_sanguineo" value="Tipo Sangüineo: *"/&gt;
                          &lt;p:inputText id="tipo_sanguineo" value="#{bBCandidato.candidato.can_tiposangue}" label="Tipo_sanguineo"/&gt;
  
                          &lt;p:outputLabel for="nacionalidade" value="Nacionalidade: *"/&gt;
                          &lt;p:inputText id="nacionalidade" value="#{bBCandidato.candidato.can_nacionalidade}" label="Nacionalidade"/&gt;
  
                          &lt;p:outputLabel for="naturalidade" value="Naturalidade: *"/&gt;
                          &lt;p:inputText id="naturalidade" value="#{bBCandidato.candidato.can_naturalidade}" label="Naturalidade"/&gt;
  
                          &lt;p:outputLabel for="uf" value="UF: *"/&gt;
                          &lt;p:inputText id="uf" value="#{bBCandidato.candidato.can_uf}" label="UF"/&gt;
  
                          &lt;p:outputLabel for="doc_identidade" value="RG: *"/&gt;
                          &lt;p:inputText id="doc_identidade" value="#{bBCandidato.documento.doc_identidade}" label="Identidade"/&gt;
  
                          &lt;p:outputLabel for="doc_expeditor" value="Orgão Expeditor: *"/&gt;
                          &lt;p:inputText id="doc_expeditor" value="#{bBCandidato.documento.doc_expeditor}" label="Expeditor"/&gt;
  
                          &lt;p:outputLabel for="doc_uf" value="UF: *"/&gt;
                          &lt;p:inputText id="doc_uf" value="#{bBCandidato.documento.doc_uf}" label="UF"/&gt;
  
                          &lt;p:outputLabel for="doc_cpf" value="CPF: *"/&gt;
                          &lt;p:inputText id="doc_cpf" value="#{bBCandidato.documento.doc_cpf}" label="CPF"/&gt;
  
                          &lt;p:outputLabel for="doc_estado_civil" value="Estado Civil: *"/&gt;
                          &lt;p:inputText id="doc_estado_civil" value="#{bBCandidato.documento.doc_estado_civil}" label="Estado Civil"/&gt;
  
                          &lt;p:outputLabel for="doc_escolaridade" value="Escolaridade: *"/&gt;
                          &lt;p:inputText id="doc_escolaridade" value="#{bBCandidato.documento.doc_escolaridade}" label="Escolaridade"/&gt;
  
                          &lt;p:outputLabel for="doc_profissao" value="Profissão: *"/&gt;
                          &lt;p:inputText id="doc_profissao" value="#{bBCandidato.documento.doc_profissao}" label="Profissao"/&gt;
  
                          &lt;p:outputLabel for="end_rua" value="Rua: *"/&gt;
                          &lt;p:inputText id="end_rua" value="#{bBCandidato.endereco.end_rua}" label="Rua"/&gt;
  
                          &lt;p:outputLabel for="end_bairro" value="Bairro: *"/&gt;
                          &lt;p:inputText id="end_bairro" value="#{bBCandidato.endereco.end_bairro}" label="Bairro"/&gt;
  
                          &lt;p:outputLabel for="end_cidade" value="Cidade: *"/&gt;
                          &lt;p:inputText id="end_cidade" value="#{bBCandidato.endereco.end_cidade}" label="cidade"/&gt;
  
                          &lt;p:outputLabel for="end_uf" value="UF: *"/&gt;
                          &lt;p:inputText id="end_uf" value="#{bBCandidato.endereco.end_uf}" label="UF"/&gt;                    
  
                          &lt;p:outputLabel for="end_cep" value="CEP: *"/&gt;
                          &lt;p:inputText id="end_cep" value="#{bBCandidato.endereco.end_cep}" label="Rua"/&gt;
  
                          &lt;p:outputLabel for="end_telefone" value="Telefone: *"/&gt;
                          &lt;p:inputText id="end_telefone" value="#{bBCandidato.endereco.end_telefone}" label="Telefone"/&gt;                  
       --&gt;                                    
                  &lt;/p:panelGrid&gt;
  
              &lt;p:separator/&gt;
  
              &lt;p:commandButton value="Atualizar" title="Atualizar" process="@this" 
                                  actionListener="#{bBCandidato.atualizar}" id="submit" 
                                  update="infosCandidato,:frmTblCandidato" 
                                  oncomplete="PF('dialogCadidato').hide();"/&gt; 
              &lt;p:commandButton value="Cancelar" title="Cancelar"
                               immediate="true" oncomplete="dialogCandidato.hide();"/&gt;                                        
  
              &lt;/h:form&gt;
  
          &lt;/p:dialog&gt;
  
          &lt;p:confirmDialog id="confirmDialog" message="Confirma exclusão do Candidato?"
                          header="Confirme" severity="alert" widgetVar="confirmation" appendToBody="true"&gt;
  
                  &lt;h:form id="frmRemoveCandidato"&gt;
                      &lt;p:commandButton value="Sim"
                                      oncomplete="confirmation.hide()"
                                      update=":frmTblCandidato"
                                      action="#{bBCandidato.remover}"/&gt;
                      &lt;p:commandButton immediate="true" value="Não"
                                      onclick="confirmation.hide()"/&gt;             
                  &lt;/h:form&gt;
          &lt;/p:confirmDialog&gt;
      &lt;/ui:define&gt;
      &lt;/ui:composition&gt;
  &lt;/body&gt; 
  &lt;/html&gt;
  </code></pre>