Galera estou com um problema aqui qdo vou adicionar um aluno da essa execption
Problemas com iserçao de dados jsf e hibernate
10 Respostas
04/08/2009 21:04:59 com.sun.faces.lifecycle.ProcessValidationsPhase execute
WARNING: /secretaria/cadastro.jsp(21,8) '#{alunoHandler.aluno.endereco.rua}' Tar
get Unreachable, 'endereco' returned null
org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadastro.jsp(21,8
) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco' returned n
ull
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
04/08/2009 21:04:59 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextIm
pl@7c7894) threw exception
javax.faces.FacesException: /secretaria/cadastro.jsp(21,8) '#{alunoHandler.aluno
.endereco.rua}' Target Unreachable, 'endereco' returned null
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadast
ro.jsp(21,8) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco'
returned null
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
... 22 more
04/08/2009 21:04:59 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.el.JspPropertyNotFoundException: /secretaria/cadastro.jsp(21,8
) '#{alunoHandler.aluno.endereco.rua}' Target Unreachable, 'endereco' returned n
ull
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(
HtmlBasicInputRenderer.java:81)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
at javax.faces.component.UIInput.validate(UIInput.java:860)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
at javax.faces.component.UIInput.processValidators(UIInput.java:666)
at javax.faces.component.UIForm.processValidators(UIForm.java:229)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java
:1030)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:59)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:321)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.
java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.ja
va:171)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:335)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPh
ase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at br.com.gerenciador.util.HibernateSessionFilter.doFilter(HibernateSessionFilt
er.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
[code][quote][flash][/flash][img]
[img]package br.com.gerenciador.modelo;
import java.util.Calendar;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Aluno {
@Id
@GeneratedValue
private Long id;
private String nome;
private String sexo;
private String localNascimento;
@Temporal(TemporalType.DATE)
private Calendar dataNascimento;
private String estado;
private String nomePai;
private String nomeMae;
private String nacionalidade;
private int ddd;
private String telefone;
private String observacao;
private Long registroMatricula;
private Long registroAcademico;
@Embedded
private Endereco endereco;
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public String getLocalNascimento() {
return localNascimento;
}
public void setLocalNascimento(String localNascimento) {
this.localNascimento = localNascimento;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getNomePai() {
return nomePai;
}
public void setNomePai(String nomePai) {
this.nomePai = nomePai;
}
public String getNomeMae() {
return nomeMae;
}
public void setNomeMae(String nomeMae) {
this.nomeMae = nomeMae;
}
public String getNacionalidade() {
return nacionalidade;
}
public void setNacionalidade(String nacionalidade) {
this.nacionalidade = nacionalidade;
}
public int getDdd() {
return ddd;
}
public void setDdd(int ddd) {
this.ddd = ddd;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public Long getRegistroMatricula() {
return registroMatricula;
}
public void setRegistroMatricula(Long registroMatricula) {
this.registroMatricula = registroMatricula;
}
public Long getRegistroAcademico() {
return registroAcademico;
}
public void setRegistroAcademico(Long registroAcademico) {
this.registroAcademico = registroAcademico;
}
}
[img]package br.com.gerenciador.modelo;
import javax.persistence.Embeddable;
@Embeddable
public class Endereco {
private String rua;
private String cidade;
private int numero;
private String cep;
private String complemento;
private String bairro;
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
}
[img]package br.com.gerenciador.logic;
import java.io.Serializable;
import org.hibernate.Session;
import br.com.gerenciador.dao.GenericHibernateDao;
import br.com.gerenciador.modelo.Aluno;
import br.com.gerenciador.modelo.Endereco;
import br.com.gerenciador.util.HibernateUtil;
public class AlunoHandler {
private Aluno aluno = new Aluno();
private Endereco endereco = new Endereco();
public Aluno getAluno() {
return aluno;
}
public Endereco getEndereco() {
return endereco;
}
public String adiciona() {
Session session = HibernateUtil.currentSession();
GenericHibernateDao<Aluno, Serializable> dao = new GenericHibernateDao<Aluno, Serializable>(
session, Aluno.class) {
};
dao.save(this.aluno);
this.aluno = new Aluno();
return "sucesso";
}
}
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8” %>
<f:view>
<h:form>
Nome: <h:inputText value="#{alunoHandler.aluno.nome}"/><br/>
Sexo: <h:inputText value="#{alunoHandler.aluno.sexo}"/><br/>
Nome Pai: <h:inputText value="#{alunoHandler.aluno.nomePai}"/><br/>
Nome Mãe: <h:inputText value="#{alunoHandler.aluno.nomeMae}"/><br/><br/>
ENDEREÇO:<br/><br/>
Rua: <h:inputText value="#{alunoHandler.aluno.endereco.rua}"/><br/>
Cidade: <h:inputText value="#{alunoHandler.aluno.endereco.cidade}"/><br/>
Bairro: <h:inputText value="#{alunoHandler.aluno.endereco.bairro}"/><br/>
Complemento: <h:inputText value="#{alunoHandler.aluno.endereco.complemento}"/><br/>
Numero: <h:inputText value="#{alunoHandler.aluno.endereco.numero}"/><br/>
CEP: <h:inputText value="#{alunoHandler.aluno.endereco.cep}"/><br/>
<h:commandButton value="Gravar" action="#{alunoHandler.adiciona}"/>
</h:form>
</f:view>
me ajuda ai galera
cara é o seguinte, vc esta dando new no endereco:
private Endereco endereco = new Endereco();
vc tem q instanciar no atributo endereco da classe aluno
aluno.setEndereco(new Endereco());
pq quando na pagina jsf ele tentar achar aluno.endereco.rua ele vai dar um nullpointer pois não existe endereco instanciado na classe.
Abraços
O cara vlw msm viu… vo fazer isso
Se você quiser uma solução legal
faz assim:
private Aluno aluno = new Aluno();
{
aluno.setEndereco(new Endereco());
}
Você usa o bloco dinamico do java, ele executa isso antes do construtor da classe!É uma alternativa!!!
Abraço
Boa Tarde,
Estou com o mesmo problema porém se eu inistanciar o endereço assim
private Endereco endereco;
Quando dou um submit no form ocorre a exception.
Caso eu faça:
private Endereco endereco = new Endereco();
Ai não da a exception porém insere o endereço NULL.
Podem me dar uma luz?