Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Estou com dúvida no curso de JSF 2: simplicidade e produtividade na Web, no exercício do capítulo Configuração do ambiente e os primeiros passos com JSF.

Depois de ter feito o capitulo 2 todo, apos criar a classe livro com o Refector extract class. Agora que subo a aplicacao, aparece esse erro: type Exception report

message /livro.xhtml @10,65 value="#{livroBean.livro.titulo}": Target Unreachable, identifier 'livroBean' resolved to null

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: /livro.xhtml @10,65 value="#{livroBean.livro.titulo}": Target Unreachable, identifier 'livroBean' resolved to null javax.faces.webapp.FacesServlet.service(FacesServlet.java:659) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

root cause

javax.el.PropertyNotFoundException: /livro.xhtml @10,65 value="#{livroBean.livro.titulo}": Target Unreachable, identifier 'livroBean' resolved to null com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95) javax.faces.component.UIInput.getConvertedValue(UIInput.java:1046) javax.faces.component.UIInput.validate(UIInput.java:976) javax.faces.component.UIInput.executeValidate(UIInput.java:1249) javax.faces.component.UIInput.processValidators(UIInput.java:712) javax.faces.component.UIForm.processValidators(UIForm.java:253) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258) javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

root cause

javax.el.PropertyNotFoundException: Target Unreachable, identifier 'livroBean' resolved to null org.apache.el.parser.AstValue.getTarget(AstValue.java:98) org.apache.el.parser.AstValue.getType(AstValue.java:82) org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:172) com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95) javax.faces.component.UIInput.getConvertedValue(UIInput.java:1046) javax.faces.component.UIInput.validate(UIInput.java:976) javax.faces.component.UIInput.executeValidate(UIInput.java:1249) javax.faces.component.UIInput.processValidators(UIInput.java:712) javax.faces.component.UIForm.processValidators(UIForm.java:253) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258) javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258) javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195) com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

Parece que ele nao esta conseguindo pegar a EJB

Agradeco a atencao. Grato Leandro Lacerda

5 respostas

Oi Leandro, o controlador JSF não encontrou a classe LivroBean. Você usou a anotação @ManagedBean?

abs, Nico

Usei sim Nico. Eu nao entendi pq q nao esta reconhecendo a classe. Quando aperto control e clico no livroBean dentro do .xhtml, ele ate me direciona para a classe LivroBean. Aguardo resposta. Grato

Posta seu livroBean ai,

Hipóteses: vc tem um atributo,

private Livro livro;

verifique se ele está sendo instanciado no ato da declaração. desta forma:

private Livro livro = new Livro();

outras hipóteses. A clase livroBean não possue gettes e setters para livro, a classe Livro não possui o atributo titulo ou este não possu gettes esetters.

Provavelmente vc está utilizando o arquivo faces-config.xml. Se for, então vc não precisa usar a anotação.

solução!

Muito obrigado a todos. Na verdade devia ser pau no eclipse, pq agora esta funcionando normal. Nao fiz nada. Desliguei o pc sexta, liguei hj (segunda) e funcionou normal .. kkkk vai entender ! Mas muito obrigado novamente! Abracos Leandro Lacerda