Action command button

4 respostas
T

Bom dia a todos

Estou desenvolvendo um aplicação utilizando jsf e em um command button preciso de um action dinâmico, então associei o action a uma variável em minha codebehind. Quando clico no botão rodando a aplicação, tenho um erro, mas o método listener do botão é executado.
Segue o erro, quem puder ajudar agradeço.

<blockquote>13:09:12,657 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception

javax.faces.FacesException: Error calling action method of component with id frmcreateHabilidadeInput:cbConfirmar

at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)

at javax.faces.component.UICommand.broadcast(UICommand.java:106)

at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)

at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)

at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)

at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at sun.reflect.GeneratedMethodAccessor405.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)

at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)

at java.lang.Thread.run(Thread.java:595)

Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{habilidade_createHabilidadeInput.origem}

at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:165)

at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)

 63 more

Caused by: java.lang.NoSuchMethodException: br.com.vixti.erp.webinterface.codebehind.habilidade.CreateHabilidadeInput.origem()

at java.lang.Class.getMethod(Class.java:1581)

at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:118)</blockquote>

4 Respostas

wamarra

Como está o método no seu Back bean?

T

Este é o método que é executado e insere o registro no banco.

public void cbCreateHabilidadeListener(ActionEvent event) {
        try {
            if (HabilidadeBO.getInstance().countHabilidad(
                    getHabilidadeTO().getDsDescricao()) == 0)

            {
                if (cdTipoHabilidade == 0) {
                    throw new VixtiExternalException(
                    "Tipo Habilidade não selecionado");
                }
                getHabilidadeTO().setCdTphabilidade(cdTipoHabilidade);

                br.com.vixti.erp.businessobjects.delegate.HabilidadeBD.getInstance().createHabilidade(
                        this.getHabilidadeTO());
                this.addOKMessage("create.sucesso", "Habilidade");
            } else {

                throw new VixtiExternalException(
                        "Habilidade já cadastrada com este nome");
            }
        } catch (Throwable t) {
            addMessage(t);
            throw new AbortProcessingException();
        }

    }
wamarra

Blz… a chamada na sua Jsp é um actionListener? pois o action recebe uma String e o actionListener recebe um ActionEvent.

Qualquer coisa confira a declaração do seu bean no Managed Bean do seu faces-config pra ver se os nomes estão batendo…

T

Consegui resolver…
Utilizo um framework que quando seleciono em um combobox a propriedade action, ao inves dele preencher {bean.getOrigem} ele preenchia {bean.origem} , daí quando tentava executar a jvm procura o método origem(), não encontrava e dava pau…

vlw

Criado 9 de junho de 2008
Ultima resposta 9 de jun. de 2008
Respostas 4
Participantes 2