galera,
estou com o seguinte erro e não estou conseguindo resolver, alguém sabe o que pode ser?
ERRO:
… value="#{corretorAction.corretorPagina.pessoa.nomePessoa}": Target Unreachable: ‘corretorPagina’ returned null on 'br.com.beiramar.action.corretor.Correto
Ele ta falando que o corretorAction.corretorPagina está null. O.o
leonardobhbr
Favor mudar o titulo do topico, para um relativo a sua duvida
D
david.jv
jakefrog:
Pq erro bizarro?
Ele ta falando que o corretorAction.corretorPagina está null. O.o
Pq não tem lógica ele está retornado null.
Olha só a action que eu criei:
importjava.util.List;importorg.jboss.seam.ScopeType;importorg.jboss.seam.annotations.In;importorg.jboss.seam.annotations.Name;importorg.jboss.seam.annotations.Out;importorg.jboss.seam.annotations.Scope;importorg.jboss.seam.international.StatusMessages;packagebr.com.beiramar.action.corretor;importbr.com.beiramar.entity.pessoa.corretor.CorretorPessoa;importbr.com.beiramar.manager.corretormanager.CorretorManager;@Name("corretorAction")@Scope(ScopeType.CONVERSATION)publicclassCorretorAction{@InprivateStatusMessagesstatusMessages;@InprivateCorretorManagercorretorManager;@In(required=false)@Out(required=false)privateCorretorPessoacorretorPagina;publicList<CorretorPessoa>listaCorretores(){returncorretorManager.retornacorretores();}publicStringeditarCorretor(CorretorPessoac){this.corretorPagina=c;return"EDITAR_CORRETOR";}//estou usando esse métodopublicStringsalvar(){try{corretorManager.salvarCorretor(this.corretorPagina);statusMessages.add("Corretor salvo com sucesso.");}catch(Exceptione){e.printStackTrace();}return"VOLTAR";}publicCorretorPessoagetCorretorPagina(){returncorretorPagina;}publicvoidsetCorretorPagina(CorretorPessoacorretorPagina){this.corretorPagina=corretorPagina;}}
Os mapeamentos:
packagebr.com.beiramar.entity.pessoa.corretor;importjava.io.Serializable;importjava.sql.Date;importjava.util.List;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;importjavax.persistence.NamedQueries;importjavax.persistence.NamedQuery;importjavax.persistence.OneToMany;importjavax.persistence.OneToOne;importjavax.persistence.Table;importbr.com.beiramar.entity.pessoa.Pessoa;importbr.com.beiramar.entity.pessoa.empMaster.EmpMaster;@Entity@Table(name="Corretor",schema="ev")@NamedQueries({@NamedQuery(name="corretor.Dados",query="Select Object(result) from CorretorPessoa result")})publicclassCorretorPessoaimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="idCorretor",unique=true,nullable=false)privateIntegeridCorretor;@Column(name="corretorCreci")privateStringcorretorCreci;@Column(name="vencimentoCreci")privateDatevencimentoCreci;@Column(name="obsCorretor")privateStringobservacao;@OneToOne@JoinColumn(name="EmpMaster_idEmpMaster")privateEmpMasterempreendedorMaster;//um corretor pode ter um empreendedor Master e um empreendedor Master pode ter vários corretores@OneToMany(mappedBy="corretorP")privateList<EmpMaster>empMaster;//um corretor pode ter um título e um título pode ter vários corretores@ManyToOne@JoinColumn(name="Titulo_idTitulo")privateTitulotitulo=newTitulo();//um corretor pode ser uma pessoa e uma pessoa pode ser um corretor@ManyToOne@JoinColumn(name="Pessoa_idPessoa")privatePessoapessoa=newPessoa();publicEmpMastergetEmpreendedorMaster(){returnempreendedorMaster;}publicvoidsetEmpreendedorMaster(EmpMasterempreendedorMaster){this.empreendedorMaster=empreendedorMaster;}publicList<EmpMaster>getEmpMaster(){returnempMaster;}publicvoidsetEmpMaster(List<EmpMaster>empMaster){this.empMaster=empMaster;}publicTitulogetTitulo(){returntitulo;}publicvoidsetTitulo(Titulotitulo){this.titulo=titulo;}publicPessoagetPessoa(){returnpessoa;}publicvoidsetPessoa(Pessoapessoa){this.pessoa=pessoa;}publicIntegergetIdCorretor(){returnidCorretor;}publicvoidsetIdCorretor(IntegeridCorretor){this.idCorretor=idCorretor;}publicStringgetCorretorCreci(){returncorretorCreci;}publicvoidsetCorretorCreci(StringcorretorCreci){this.corretorCreci=corretorCreci;}publicDategetVencimentoCreci(){returnvencimentoCreci;}publicvoidsetVencimentoCreci(DatevencimentoCreci){this.vencimentoCreci=vencimentoCreci;}publicStringgetObservacao(){returnobservacao;}publicvoidsetObservacao(Stringobservacao){this.observacao=observacao;}@OverridepublicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((idCorretor==null)?0:idCorretor.hashCode());returnresult;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;CorretorPessoaother=(CorretorPessoa)obj;if(idCorretor==null){if(other.idCorretor!=null)returnfalse;}elseif(!idCorretor.equals(other.idCorretor))returnfalse;returntrue;}}
D
david.jv
continuação dos mapeadmentos:
packagebr.com.beiramar.entity.pessoa;importjava.io.Serializable;importjava.sql.Date;importjava.util.List;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.NamedQueries;importjavax.persistence.NamedQuery;importjavax.persistence.OneToMany;importjavax.persistence.Table;importbr.com.beiramar.entity.pessoa.corretor.CorretorPessoa;@Entity@Table(name="Pessoa",schema="ev")@NamedQueries({@NamedQuery(name="pessoa.Dados",query="Select Object(result) from Pessoa result")})publicclassPessoaimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="idPessoa",unique=true,nullable=false)privateIntegeridPessoa;@Column(name="nomePessoa")privateStringnomePessoa;@Column(name="emailPessoa")privateStringemailPessoa;@Column(name="dataNascimentoPessoa")privateDatedataNascimentoPessoa;@Column(name="filiacaoPaiPessoa")privateStringfiliacaoPaiPessoa;@Column(name="filiacaoMaePessoa")privateStringfiliacaoMaePessoa;@Column(name="celularPessoa")privateStringcelularPessoa;@Column(name="celular2Pessoa")privateStringcelular2Pessoa;@Column(name="cnhPessoa")privateStringcnhPessoa;@Column(name="expedicaoPessoa")privateDateexpedicaoPessoa;@Column(name="vencimentoCnhPessoa")privateDatevencimentoCnhPessoa;@Column(name="filhosPessoa")privateintfilhosPessoa;@Column(name="sexoPessoa")privateStringsexoPessoa;@Column(name="notebookPessoa")privatebooleannotebookPessoa;@Column(name="carroPessoa")privatebooleancarroPessoa;@Column(name="ultimoAcompanhamentoPessoa")privateDateultimoAcompanhamentoPessoa;@Column(name="status_2Pessoa")privateStringstatus_2Pessoa;@Column(name="escolaridadePessoa")privateStringescolaridadePessoa;@Column(name="observacaoPessoa")privateStringobservacaoPessoa;@Column(name="estadoCivilPessoa")privateStringestadoCivilPessoa;@Column(name="nacionalidadePessoa")privateStringnacionalidadePessoa;@Column(name="cpfPessoa")privateStringcpfPessoa;@Column(name="rgPessoa")privateStringrgPessoa;@Column(name="Endereco_idEndereco")privateIntegeridEndereco;@OneToMany(mappedBy="pessoa")privateList<CorretorPessoa>corretores;publicIntegergetIdEndereco(){returnidEndereco;}publicvoidsetIdEndereco(IntegeridEndereco){this.idEndereco=idEndereco;}publicIntegergetIdPessoa(){returnidPessoa;}publicvoidsetIdPessoa(IntegeridPessoa){this.idPessoa=idPessoa;}publicStringgetNomePessoa(){returnnomePessoa;}publicvoidsetNomePessoa(StringnomePessoa){this.nomePessoa=nomePessoa;}publicStringgetEmailPessoa(){returnemailPessoa;}publicvoidsetEmailPessoa(StringemailPessoa){this.emailPessoa=emailPessoa;}publicDategetDataNascimentoPessoa(){returndataNascimentoPessoa;}publicvoidsetDataNascimentoPessoa(DatedataNascimentoPessoa){this.dataNascimentoPessoa=dataNascimentoPessoa;}publicStringgetFiliacaoPaiPessoa(){returnfiliacaoPaiPessoa;}publicvoidsetFiliacaoPaiPessoa(StringfiliacaoPaiPessoa){this.filiacaoPaiPessoa=filiacaoPaiPessoa;}publicStringgetFiliacaoMaePessoa(){returnfiliacaoMaePessoa;}publicvoidsetFiliacaoMaePessoa(StringfiliacaoMaePessoa){this.filiacaoMaePessoa=filiacaoMaePessoa;}publicStringgetCelularPessoa(){returncelularPessoa;}publicvoidsetCelularPessoa(StringcelularPessoa){this.celularPessoa=celularPessoa;}publicStringgetCelular2Pessoa(){returncelular2Pessoa;}publicvoidsetCelular2Pessoa(Stringcelular2Pessoa){this.celular2Pessoa=celular2Pessoa;}publicStringgetChnPessoa(){returncnhPessoa;}publicvoidsetChnPessoa(StringchnPessoa){this.cnhPessoa=chnPessoa;}publicDategetExpedicaoPessoa(){returnexpedicaoPessoa;}publicvoidsetExpedicaoPessoa(DateexpedicaoPessoa){this.expedicaoPessoa=expedicaoPessoa;}publicDategetVencimentoCnhPessoa(){returnvencimentoCnhPessoa;}publicvoidsetVencimentoCnhPessoa(DatevencimentoCnhPessoa){this.vencimentoCnhPessoa=vencimentoCnhPessoa;}publicintgetFilhosPessoa(){returnfilhosPessoa;}publicvoidsetFilhosPessoa(intfilhosPessoa){this.filhosPessoa=filhosPessoa;}publicStringgetSexoPessoa(){returnsexoPessoa;}publicvoidsetSexoPessoa(StringsexoPessoa){this.sexoPessoa=sexoPessoa;}publicbooleanisNotebookPessoa(){returnnotebookPessoa;}publicvoidsetNotebookPessoa(booleannotebookPessoa){this.notebookPessoa=notebookPessoa;}publicbooleanisCarroPessoa(){returncarroPessoa;}publicvoidsetCarroPessoa(booleancarroPessoa){this.carroPessoa=carroPessoa;}publicDategetUltimoAcompanhamentoPessoa(){returnultimoAcompanhamentoPessoa;}publicvoidsetUltimoAcompanhamentoPessoa(DateultimoAcompanhamentoPessoa){this.ultimoAcompanhamentoPessoa=ultimoAcompanhamentoPessoa;}publicStringgetStatus_2Pessoa(){returnstatus_2Pessoa;}publicvoidsetStatus_2Pessoa(Stringstatus_2Pessoa){this.status_2Pessoa=status_2Pessoa;}publicStringgetEscolaridadePessoa(){returnescolaridadePessoa;}publicvoidsetEscolaridadePessoa(StringescolaridadePessoa){this.escolaridadePessoa=escolaridadePessoa;}publicStringgetObservacaoPessoa(){returnobservacaoPessoa;}publicvoidsetObservacaoPessoa(StringobservacaoPessoa){this.observacaoPessoa=observacaoPessoa;}publicStringgetEstadoCivilPessoa(){returnestadoCivilPessoa;}publicvoidsetEstadoCivilPessoa(StringestadoCivilPessoa){this.estadoCivilPessoa=estadoCivilPessoa;}publicStringgetNacionalidadePessoa(){returnnacionalidadePessoa;}publicvoidsetNacionalidadePessoa(StringnacionalidadePessoa){this.nacionalidadePessoa=nacionalidadePessoa;}publicStringgetCnhPessoa(){returncnhPessoa;}publicvoidsetCnhPessoa(StringcnhPessoa){this.cnhPessoa=cnhPessoa;}publicStringgetCpfPessoa(){returncpfPessoa;}publicvoidsetCpfPessoa(StringcpfPessoa){this.cpfPessoa=cpfPessoa;}publicStringgetRgPessoa(){returnrgPessoa;}publicvoidsetRgPessoa(StringrgPessoa){this.rgPessoa=rgPessoa;}publicList<CorretorPessoa>getCorretores(){returncorretores;}publicvoidsetCorretores(List<CorretorPessoa>corretores){this.corretores=corretores;}@OverridepublicinthashCode(){finalintprime=31;intresult=1;result=prime*result+idPessoa;returnresult;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null)returnfalse;if(getClass()!=obj.getClass())returnfalse;Pessoaother=(Pessoa)obj;if(idPessoa!=other.idPessoa)returnfalse;returntrue;}}
Hebert_Coelho
david.jv:
jakefrog:
Pq erro bizarro?
Ele ta falando que o corretorAction.corretorPagina está null. O.o
Pq não tem lógica ele está retornado null.
Até onde eu vi, tem toda lógica em retornar null.
Você faz um get:
public List<CorretorPessoa> getCorretorPagina() {
return corretorPagina;
}
Esse cara é injetado? Se não for, em nenhum momento você faz corretorPagina = new CorretorPagina();
D
david.jv
jakefrog:
Até onde eu vi, tem toda lógica em retornar null.
Você faz um get:
public List<CorretorPessoa> getCorretorPagina() {
return corretorPagina;
}
Esse cara é injetado? Se não for, em nenhum momento você faz corretorPagina = new CorretorPagina();
É injetado sim, aliás só pra constar esse get não é usado na hora do cadastro e sim na hora de pesquisar. E o pesquisar está tudo ok.
tira os “parenteses do action” <h:commandButton value="Salvar" action="#{corretorAction.salvar}" />
D
david.jv
Wellington, não faz sentido tirar os parenteses do action, afinal estou chamando um método.
Hebert_Coelho
Wellington, não faz sentido tirar os parenteses do action, afinal estou chamando um método.
Pq não? No meu sistema nenhum método é chamado com () no final.
Não sei se isso vai resolver seu problema, mas no livro Core JavaServer Faces 3rd não me lembro de ter visto exemplo com () ao final.
D
david.jv
Wellington, não faz sentido tirar os parenteses do action, afinal estou chamando um método.
Pq não? No meu sistema nenhum método é chamado com () no final.
Não sei se isso vai resolver seu problema, mas no livro Core JavaServer Faces 3rd não me lembro de ter visto exemplo com () ao final.
Jakefrog,
Todos os outros métodos estão sendo chamando com () no final e estão funcionando blz. E para constar eu tentei sem o () no final e gerou o mesmo erro.
Hebert_Coelho
Sim, funciona com o ().
Mas não tem o pq afirmar que não tem lógica tirar o ().
Uma coisa que notei de estranha foi sua NamedQuery.
Select Object(result) from CorretorPessoa result
Pq não sem o Object()?
select cp from CorretorPessoa cp
D
david.jv
[quote=jakefrog]Sim, funciona com o ().
Mas não tem o pq afirmar que não tem lógica tirar o ().
Uma coisa que notei de estranha foi sua NamedQuery.
Select Object(result) from CorretorPessoa result
Pq não sem o Object()?
select cp from CorretorPessoa cp
Pq eu tô utilizando ela pra fazer pesquisas.
Tipo, quando a pessoa necessita trazer todos os corretos eu uso ela.
D
david.jv
Eu acredito que o erro esteja na classe CorretorAction ou nos mapeamentos. Mas eu já olhei, reolhei, rereolhei e num encontrei nada que possa estar afetando.