Olá galera estou desenvolvendo uma aplicação com jsf jpa e hibernate e estou com um problema ao adicionar os dados no banco, o erro que da é esse:
HTTP Status 500 - /pages/cadastrar.xhtml @21,127 value="#{meuBean.nome}": Target Unreachable, identifier ‘meuBean’ resolved to null.
ja tentei resolver de todo jeito mais não resolvi o problema, o que poderia ser?
Obrigado!
O problema não é para gravar no banco…
O problema é que o ser ManagementBean ‘meuBean’ não é instanciado. Poste a classe do seu meuBean para podermos ver, deve ter algo de errado nela…
Aqui o bean:
@Controller(“alunoBean”)
@Scope(“request”)
public class AlunoBean implements Serializable{
private static final long serialVersionUID = 1L;
@Autowired
private Aluno aluno;
private List<Aluno> listaEnviarVagas;
@Autowired
@Qualifier("AlunoDaoImpl")
private AlunoDao alunoDao;
public void adiciona(){
FacesContext context = FacesContext.getCurrentInstance();
alunoDao.salva(aluno);
context.addMessage(null, new FacesMessage("Aluno cadastrado com sucesso!"));
this.aluno = new Aluno();
}
public List<Aluno> listaTudo(){
return this.listaEnviarVagas = alunoDao.listaTudo();
}
public Aluno getAluno() {
return aluno;
}
public void setAluno(Aluno aluno) {
this.aluno = aluno;
}
public List<Aluno> getListaEnviarVagas() {
return listaEnviarVagas;
}
public void setListaEnviarVagas(List<Aluno> listaEnviarVagas) {
this.listaEnviarVagas = listaEnviarVagas;
}
}
poste o xhtml tb, mas tente trocar o
por
Aliás vi q vc ta usando Spring, ta injetando o bean aluno??? pq?
@Autowired
private Aluno aluno;
Na minha página tem: value="#{alunoBean.aluno.nome}"
mais mesmo assim o erro continua, ja tentei de todas as formas mais não consigo resolver.
no construtor da classe AlunoBean faça o seguinte:
e retire o @Autowired neste ponto
@Autowired
private Aluno aluno;
veja se resolve
Cara eu acho que estou descobrindo o erro, mais me tira uma dúvida, tenho uma classe Aluno e dentro dela uma instancia de Endereço, como é que eu faço para salvar esses dados? no método salvar tenho que salvar só o aluno ou o endereço tambem?
e o erro do bean desapareceu depois que eu inseri ele no Aluno bean assim:
public classe AlunoBean{
private Aluno aluno;
private Endereco endereco;
gets e sets
}
Então, se vc tem as propriedades todas na tela, tanto de aluno quanto de endereço, basta deixar tudo relacionado ao seu bean aluno. Não precisa de ter o endereço no ManagementBean. Ficaria mais ou menos assim:
#{aluno.endereco.nomeRua}, por exemplo…
Ai quando vc salvar, o objeto aluno deve estar com todas as propriedades inclusive o Endereço…
não sei se fui claro… 