Primefaces h:inputText

E ae galera,

Alguém sabe dizer porquê minha entidade principal em meu MB está vindo com os atributos nulos? O objeto vêm instanciado, só os atributos que vem nulls.

      <p:dialog header="Gerencia Países" 
                widgetVar="dialogFichaPais"  
                resizable="false" 
                modal="true" 
                width="300" 
                appendToBody="true"
                id="dialogFichaPaisTeste"
                >
        <h:panelGrid id="infosLivro" columns="2" style="margin-bottom:10px">
            
            <h:outputLabel for="codigo" value="Código:" />
            <h:inputText id="codigo" value="#{paisController.pais.id.codigo}"/>
 
            <h:outputLabel for="filial" value="Filial:" />
            <h:inputText id="filial" value="#{paisController.pais.id.filial.id.codigo}"/>
            
            <h:outputLabel for="nome" value="Nome:" />
            <h:inputText id="nome" value="#{paisController.pais.nome}"/>
          
            <p:commandButton id="inserirPais" 
                             immediate="true"
                             update="tabelaPaises" 
                             oncomplete="dialogFichaPais.hide();" 
                             actionListener="#{paisController.adiciona}" 
                             value="Inserir"
                             />
          </h:panelGrid>

      </p:dialog>

Primeiro o h:inputText não é do primefaces, e sim dos componenetes padrao do jsf os componentes do primefaces devem usar o prefixo p e nao h,

segundo muito provavelmente, tipo 99% de chance voce não ter dado um new no objeto ou naum ter carregado ninguem do banco, mas voce não posto o codigo java ai como naum tenho bola de cristal não vou conseguir adivinhar o que voce não fez…

[quote=CristianPalmaSola10]Primeiro o h:inputText não é do primefaces, e sim dos componenetes padrao do jsf os componentes do primefaces devem usar o prefixo p e nao h,

segundo muito provavelmente, tipo 99% de chance voce não ter dado um new no objeto ou naum ter carregado ninguem do banco, mas voce não posto o codigo java ai como naum tenho bola de cristal não vou conseguir adivinhar o que voce não fez…[/quote]

Passou despercebido o p pelo h, até coloquei o componente do primefaces para ver se era isso, mas não.
Quanto a carregar a minha entidade, está carregando sim, vou repetir o que escrevi só que com outras palavras, o objeto está instanciado no momento que chamo a função de inserir, somente os seus atributos vem com valores nulos.

Cristian, eu lhe faltei com respeito em minha mensagem? Amigo, a primeira impressão é a que fica, é assim que você faz estabelecer novos contatos?

MB:

@ManagedBean
@RequestScoped
public class PaisController extends ControllerAbstract<Pais,PaisService>
{
  private Pais pais = new Pais();
  private List<Pais> paises = new ArrayList<Pais>();
  
  public void lista() 
  {
    paises = getService().getAll();
  } 
  
  private void limpa() 
  {
    pais = new Pais();
  }
  
  public void preparaParaAdicionar() 
  {
    limpa();
  }
  
  public void adiciona() 
  {
    getService().insert(pais);
    lista();
  } 
  
  public void remove() 
  {
    getService().remove(pais);
    lista();
  }
  
  public void preparaParaAlterar() 
  {
    this.pais = getService().findById(pais.getId(),true);
  } 
  
  public void altera() 
  {
    getService().update(pais);
  }
  
  /*-------------------------------------------------------------------
  *		            GETTERS AND SETTERS
  *-------------------------------------------------------------------*/

  public Pais getPais()
  {
    return pais;
  }

  public void setPais(Pais pais)
  {
    this.pais = pais;
  }

  public List<Pais> getPaises()
  {
    return paises;
  }

  public void setPaises(List<Pais> paises)
  {
    this.paises = paises;
  }

XHTML

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui"
    xmlns:f="http://java.sun.com/jsf/core"
    template="/resources/theme/template.xhtml">
        
  <ui:define name="centro">
    <h:form id="form">  
      <p:dataTable id="tabelaPaises" 
                   var="pais" 
                   value="#{paisController.paises}" 
                   rowKey="#{pais.id.codigo}">  
        
        <f:facet name="header">
          <p:splitButton value="Atualizar"  action="#{paisController.lista}" icon="ui-icon-refresh" update="tabelaPaises">  
            <p:menuitem value="Novo"  action="#{paisController.preparaParaAdicionar}" oncomplete="dialogFichaPais.show()" icon="ui-icon-document"/>  
            <p:menuitem value="Editar" icon="ui-icon-arrowrefresh-1-w"/>  
            <p:menuitem value="Apagar" ajax="false" icon="ui-icon-close"/>  
          </p:splitButton>
          
        </f:facet> 
        
        <p:column headerText="Código"> #{pais.id.codigo} </p:column>  
        <p:column headerText="Nome"> #{pais.nome} </p:column>  
              
      </p:dataTable>  
  
      <!-- ******************************Ficha****************************** -->

      <p:dialog header="Gerencia Países" 
                widgetVar="dialogFichaPais"  
                resizable="false" 
                modal="true" 
                width="300" 
                appendToBody="true"
                id="dialogFichaPaisTeste"
                >
        <h:panelGrid id="infosLivro" columns="2" style="margin-bottom:10px">
            
            <h:outputLabel for="codigo" value="Código:" />
            <p:inputText id="codigo" value="#{paisController.pais.id.codigo}"/>
 
            <h:outputLabel for="filial" value="Filial:" />
            <p:inputText id="filial" value="#{paisController.pais.id.filial.id.codigo}"/>
            
            <h:outputLabel for="nome" value="Nome:" />
            <p:inputText id="nome" value="#{paisController.pais.nome}"/>
          
            <p:commandButton id="inserirPais" 
                             immediate="true"
                             update="tabelaPaises" 
                             oncomplete="dialogFichaPais.hide();" 
                             actionListener="#{paisController.adiciona}" 
                             value="Inserir"
                             />
          </h:panelGrid>

      </p:dialog>
    
    </h:form> 
  </ui:define>
</ui:composition>