fala pessoal, estou com uma dúvida que eu não consigo resolver, peguei uma apostila de um curso na internet para estudar JSF, eu fui seguindo passo a passo, mas a tela menu, que tem dois botões, reclama quando eu clico no botão para consultar os objetos.
vou colocar o erro e algumas partes do código, se alguem puder me ajudar fico muito grato.
página menu.jsp
<f:view>
<h:form id=“frm”>
<h:outputText value=“Sistema Financeiro” />
<h:commandLink action="#{cadastroContaBean.inicializar}" >
<h:outputText value="Cadastro de contas" />
</h:commandLink> <br/>
<h:commandLink action="consultaConta" actionListener="#{consultaContaBean.consultar}" >
<h:outputText value="Consulta de contas" />
</h:commandLink> <br/>
</h:form>
</f:view>
ao invocar o actionListenter no método consultar do bean, ele deveria me retornar uma tela com uma lista, mas ele mostra esse erro aqui dizendo como se o método no managedbean não existisse.
[color=red]RAVE: Received ‘org.apache.jasper.el.JspMethodNotFoundException’ when invoking action listener ‘#{consultaContaBean.consultar}’ for component ‘j_id_jsp_1441969169_5’
03/03/2011 11:51:42 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: org.apache.jasper.el.JspMethodNotFoundException: /menu.jsp(21,2) ‘#{consultaContaBean.consultar}’ Method not found: financeiro.visao.ConsultaContaBean@ae97c4.consultar(javax.faces.event.ActionEvent)[/color]
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:71)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:774)
at javax.faces.component.UICommand.broadcast(UICommand.java:372)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
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:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
03/03/2011 11:51:42 org.ajax4jsf.component.AjaxViewRoot processEvents
GRAVE: Error processing faces event for the component frm:j_id_jsp_1441969169_5
javax.faces.event.AbortProcessingException: /menu.jsp(21,2) ‘#{consultaContaBean.consultar}’ Method not found: financeiro.visao.ConsultaContaBean@ae97c4.consultar(javax.faces.event.ActionEvent)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:118)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:774)
at javax.faces.component.UICommand.broadcast(UICommand.java:372)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
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:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.jasper.el.JspMethodNotFoundException: /menu.jsp(21,2) ‘#{consultaContaBean.consultar}’ Method not found: financeiro.visao.ConsultaContaBean@ae97c4.consultar(javax.faces.event.ActionEvent)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:71)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
… 23 more
aqui está a parte do código do meu managedbean
public class ConsultaContaBean {
private Conta contaExclusao;
private List<Conta> contas = new ArrayList<Conta>();
public void consultar(ActionEvent event) {
this.contas = new ContaService().listarTodas();
}
eu ainda tenho bastante dificuldade para manipular botões que tenham atributos do tipo listener, eu acho que pode ter haver com o fato de não ser apenas action.
Aguardo respostas e valew…
dele não ser simplesmente action