<f:ajax> problemas

2 respostas
E

Pessoal estou com uma dificuldade com essa nova tag do JSF2

É o seguinte quero executar um metodo do meu MB

pagina.xhtml

1. <h:outputLabel for="somCliente"  
   2.                              value="Cliente"/>  
   3.               <h:selectOneMenu id="somCliente"  
   4.                                value="#{dlgGridCompMB.cliente}">  
   5.                   <f:selectItems value="#{dlgGridCompMB.clientes}"/>  
   6.                   <f:ajax listener="#{dlgGridCompMB.atualizarClientes}"  
   7.                           execute="@this"  
   8.                           event="change"/>  
   9.   
  10.               </h:selectOneMenu>

meu MB

# public void atualizarClientes(ValueChangeEvent event) {  
#         try {  
#             IEmpresaBO empresaBO = getBusinessFactory().getIEmpresaBO();  
#             if (getClientes().size() > 0) {  
#                 this.carregarCombos();  
#                 this.carregarTabela();  
#             }  
#         } catch (Exception ex) {  
#             super.getLogger().error(ex.getMessage());  
#             ex.printStackTrace();  
#         }  
#     }  
#   
# OBS:  troquei o (ValueChangeEvent  por ActionEvent)

ERRO:

1. SEVERE: javax.faces.FacesException: /index.xhtml @23,57 listener="#{dlgGridCompMB.atualizarClientes}": Method not found: [email removido](javax.faces.event.AjaxBehaviorEvent)  
   2.         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:90)  
   3.         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)  
   4.         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)  
   5.         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)  
   6.         at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)  
   7.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)  
   8.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)  
   9.         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)  
  10.         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)  
  11.         at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)  
  12.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)  
  13.         at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)  
  14.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)  
  15.         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)  
  16.         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)  
  17.         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)  
  18.         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)  
  19.         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)  
  20.         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)  
  21.         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)  
  22.         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)  
  23.         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)  
  24.         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)  
  25.         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)  
  26.         at com.sun.grizzly.ContextTask.run(ContextTask.java:69)  
  27.         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)  
  28.         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)  
  29.         at java.lang.Thread.run(Thread.java:619)  
  30. Caused by: javax.el.MethodNotFoundException: /index.xhtml @23,57 listener="#{dlgGridCompMB.atualizarClientes}": Method not found: [email removido](javax.faces.event.AjaxBehaviorEvent)  
  31.         at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:102)  
  32.         at com.sun.faces.facelets.tag.jsf.core.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxHandler.java:439)  
  33.         at javax.faces.event.AjaxBehaviorEvent.processListener(AjaxBehaviorEvent.java:113)  
  34.         at javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:98)  
  35.         at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:763)  
  36.         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)  
  37.         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)  
  38.         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)  
  39.         ... 27 more

Pessoal ele fala que não encontra o metodo

Alguem poderia me ajudar?

Deste ja agradeço

2 Respostas

dev.rafael

Teste assim:

public void atualizarClientes(AjaxBehaviorEvent e) { ... }
E

Resolveuu,

como sempre dev.refael me ajudando ,

obrigado

Criado 29 de outubro de 2010
Ultima resposta 29 de out. de 2010
Respostas 2
Participantes 2