Bom estou brincando um pouco com JSF estou seguindo uma apostila que achei aqui mesmo no site da GUJ.
Mas acho que estou tendo algum problema no meu manage-bean meu erro é o seguinte:
[quote]16/01/2008 13:21:01 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) ‘#{agenda.nome}’ Target Unreachable, identifier ‘agenda’ resolved to 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:1033)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:57)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:319)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:333)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.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(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[/quote]
Então minha classe tem sim … Depois de mexer bastante o erro agora é outro … me parece minha propriedade managed-bean não está pegando …
Agora a minha pilha de erros é a seguinte:
[quote]17/01/2008 08:51:38 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) ‘#{agenda.nome}’ Target Unreachable, identifier ‘agenda’ resolved to 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:1033)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
at org.ajax4jsf.component.AjaxViewRoot.access$201(AjaxViewRoot.java:57)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:319)
at org.ajax4jsf.context.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:56)
at org.ajax4jsf.context.AjaxContextImpl.invokeOnRegionOrRoot(AjaxContextImpl.java:173)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:333)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.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(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[/quote]
org.apache.jasper.el.JspPropertyNotFoundException: /buscar.jsp(15,3) ‘#{agenda.nome}’ Target Unreachable, identifier ‘agenda’ resolved to null
verifique seu codigo .JSP correspondente, ou verifique se nos teus frameworks não tem algum jar rompendo o outro, algum tipo EL.
me lembro vagamente um projeto que fiz, utilizava jsf1.1 e richfaces aee tinha um jar que não me lembro o nome acho que era api-el.jar eu tirei ele e td deu certo e era um erro parecido, dava isso pq não aceitava null, mas primeiro verfique o teu jsp, se estiver td ok, tente isto que te falei.
aee poste ai pra nos oque aconteceu
Sem querer ser palpitador…mas quando comecei a usar JSF para uma possível implementação aqui no trampo…tomava uns erros desses também…sem lógica alguma.
Aí mudava algumas coisas instalava alguns plugins ou até mesmo mudava de IDE e funcionava…mas depois dava outros erros sem explicação…sinceramente pra mim JSF ainda é furada…
A melhor IDE para desenvolver acho q foi o RedHatDeveloper Studio…mas agora não se pode mais fazer download…quem pegou a beta ainda pode usar quem não tem dançou…
Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null
Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…
Vê aí…
[]s
Ferry[/quote]
tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.
O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.
Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null
Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…
Vê aí…
[]s
Ferry[/quote]
tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.
O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.
Parece ser nullPointerExc mesmo.
Att,
Renan
[/quote]
Olá renan_ gostaria de um exemplo sim cara … estou um pouco perdido …
Mas o que acontece … quando termino um cadastro por exemplo ele não envia para a página sucesso_insercao.jsp ele cadastra no banco mas não faz um redirect para a página que configurei no navigation-case …
Essa é facil…
Target Unreachable, identifier ‘agenda’ resolved to null
Vc instanciou o Objeto Agenda no construtor do seu Managed Bean? Ele ta tentando chamar o getNome do objeto “agenda” e deve ta tomando nullPointerExc…
Vê aí…
[]s
Ferry[/quote]
tem que ter um = new AgendaDB(); antes de chamar essa pagina .jsp que manipula os atributos. Assim como Ferryman disse.
O usual é toda pagina JSP ser invocada por um botao, link, etc, que tenha um action que instancialize a classe e retorne uma string(para fazer navegacao). Entao a pagina busca.jsp seria aberta com um AgendaDB instancializado. Logo, o acesso aos atributos atraves dos get e set funcionaria sem problemas. Se precisar de exemplos é soh pedir.
Parece ser nullPointerExc mesmo.
Att,
Renan
[/quote]
O que vc quer dizer com isso??? Instanciar na mão um MBean??? Se for é loucura!!!
[quote=aisne]Estou com o mesmo problema, este é a minha AgendaDB.java e o erro é igual ao do nosso companheiro…o que eu faço??
package AgendaDB;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.lang.Class;
import javax.swing.JOptionPane;
public class AgendaDB {
private String nome=blank;
private AgendaDB nome_cliente=new AgendaDB();
private String endereco=blank;
private String cidade=blank;
private String telefone=blank;
private String result_busca = blank;
private String result_inserir = blank;
public static final String BUSCA_INVALIDA = "failure";
public static final String BUSCA_VALIDA = "sucess";
public static final String SUCESSO_INSERCAO = "sucess";
public static final String FALHA_INSERCAO = "failure";
static PreparedStatement stmt=null;
static Connection con=null;
static ResultSet rs;
private static String blank = "";
public AgendaDB() {}
public void setNome(String nome) {
this.nome =nome;
}
public String getNome() {
return nome;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getEndereco() {
return endereco;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getCidade() {
return cidade;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getTelefone() {
return telefone;
}
public String inserir() {
String result_inserir = FALHA_INSERCAO;
try {
stmt = DBCon.getConnection().prepareStatement("INSERT INTO pessoa(nome,endereco,cidade,telefone) VALUES('" +
nome + "','" + endereco + "','" + cidade + "','" + telefone +
"')");
stmt.close();
result_inserir = SUCESSO_INSERCAO;
} catch (SQLException e) {
System.err.println("Erro:" + e);
result_inserir = FALHA_INSERCAO;
}
return result_inserir;
}
public String buscar() throws SQLException {
String result_busca = BUSCA_INVALIDA;
try {
rs = stmt.executeQuery("SELECT * FROM pessoa WHERE nome= '" + nome + "'");
if (rs.next()){
nome=rs.getString(1);
endereco = rs.getString(2);
cidade = rs.getString(3);
telefone = rs.getString(4);
result_busca = BUSCA_VALIDA;
} else
result_busca = BUSCA_INVALIDA;
rs.close();
stmt.close();
} catch (SQLException e) {
System.err.println("Erro:" + e);
}
return result_busca;
}
}
[/quote]
é o erro é o seguinte
500 Internal Server Error
javax.faces.el.PropertyNotFoundException: Error testing property ‘nome’ in bean of type null at com.sun.faces.el.PropertyResolverImpl.getType(PropertyResolverImpl.java:362) at com.sun.faces.el.impl.ArraySuffix.getType(ArraySuffix.java:260) at com.sun.faces.el.impl.ComplexValue.getType(ComplexValue.java:228) at com.sun.faces.el.ValueBindingImpl.getType(ValueBindingImpl.java:311) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:131) at javax.faces.component.UIInput.getConvertedValue(UIInput.java:733) at javax.faces.component.UIInput.validate(UIInput.java:658) at javax.faces.component.UIInput.executeValidate(UIInput.java:869) at javax.faces.component.UIInput.processValidators(UIInput.java:432) at javax.faces.component.UIForm.processValidators(UIForm.java:190) at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:932) at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:362) at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:712) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)