Problema: commandButton não Recebe Ação

3 respostas
kiwoxox

Boa noite a todos,

Estou desenvolvendo e acabei de achar um problema que não havia notado, meu commandButton com a ação ConsultarCPF não está recebendo ação não sei dizer o porque, segue o código abaixo.
Tem algumas sujeiras no meio do código que coloquei para testar.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:h="http://java.sun.com/jsf/html">

    <body>

        <ui:composition template="./template.xhtml">
            <ui:define name="content">
                <h:form id="frmCadastroDigital">
                    <p:messages autoUpdate="true"/>
                    
                    <p:panel header="Cadastro de Digital">
                        
                    <h:panelGrid columns="2" cellpadding="5" border="0">
                      
                      <h:outputText value="CPF Funcionário:"/>
                      <p:inputText id="cpf" value="#{digitalBean.cpf}"/>
                      <p:commandButton  value="Consultar" update="frmCadastroDigital" actionListener="#{digitalBean.consultarCPF()}" icon="ui-icon-search"/>
                      
                      
                    </h:panelGrid>
                        
                        
                    <h:panelGrid id="dadosFunc" columns="1" cellpadding="5">
                       <h:outputText value="Nome: #{digitalBean.funcionarioSelecionado.nome}"/>
                       <h:outputText value="CPF: #{digitalBean.funcionarioSelecionado.cpf}"/>
                       <h:outputText value="Data de Nascimento: #{digitalBean.funcionarioSelecionado.dtnascimento}"/>
                    </h:panelGrid>   
                     
                              
                      
                    </p:panel>
                </h:form>
            </ui:define>
        </ui:composition>

    </body>
</html>
DigitalBean.java
package controle.digital;

import controle.funcionario.ConverterFuncionario;
import dao.FuncionarioDao;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
import modelo.Digital;
import modelo.Funcionario;

/**
 *
 * @author Ulisses
 */
@ManagedBean
@RequestScoped
public class DigitalBean {
    private Digital digital;
    private Funcionario funcionarioSelecionado;
    private List<Digital> listaDigital;
    private String cpf;
    

    /**
     * Creates a new instance of DigitalBean
     */
    public DigitalBean() {
        digital = new Digital();
        funcionarioSelecionado = new Funcionario();
        listaDigital = new ArrayList<Digital>();
    }

    public Digital getDigital() {
        return digital;
    }

    public void setDigital(Digital digital) {
        this.digital = digital;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Funcionario getFuncionarioSelecionado() {
        return funcionarioSelecionado;
    }

    public void setFuncionarioSelecionado(Funcionario funcionarioSelecionado) {
        this.funcionarioSelecionado = funcionarioSelecionado;
    }

    public List<Digital> getListaDigital() {
        return listaDigital;
    }

    public void setListaDigital(List<Digital> listaDigital) {
        this.listaDigital = listaDigital;
    }
    
    public void teste(ActionEvent event){
        System.out.println("Testando");
    }
    
    public void consultarCPF(){
        System.out.println("Consulta CPF");
        
    }
    
    
    
    
    
}

3 Respostas

lele_vader

Um action listener precisa de um parâmetro ActionEvent se não me engano.

A

Insira a propriedade ajax=“false” que te retornará o erro, provavelmente esteja recebendo a ação sim, mas o retorno é uma exception. Você pode também visualizar pelo firebug abrindo a requisição que foi realizada, lá também estará apontando o erro.

thiago.correa

Ou, utilizar o <h:messages showDetail=“true” /> para saber se houve algum erro de validação

Criado 18 de novembro de 2012
Ultima resposta 19 de nov. de 2012
Respostas 3
Participantes 4