Dúvidas busca JSF

3 respostas
pauloricardobraga

Boa noite,
estou aprendendo jsf e tambem sou novo por aqui, enfim.
implementei um cadastro de empregado, mas não estou conseguindo buscar um empregado pelo seu cpf.
usei a estrutura MVC, o meu problema é na VISÃO, não estou conseguindo chamar o metodo do bean e passar um valor para o bean retornar o empregado.

Segue abaixo o BEAN:

public Empregado buscaCpf() {

int cpf = 0;

try {

String cpfS = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(cpfP);

cpf = Integer.parseInt(cpfS);

return cad.buscarPeloCpf(cpf);

} catch (Exception ex) {

return null;

}

}

segue abaixo o modelo:

public Empregado buscarPeloCpf(int cpf) throws Exception {
    Empregado e = new Empregado();
    for (int i = 0; i < emp.size(); i++) {
        e = (Empregado) emp.get(i);
        if ( e.getCpf() == cpf ){
            return e;
        }else {
            throw new Exception ("Empregado com o CPF ["+cpf+"] não encontrado.");
        }
        
    }
    return null;
}

creio que o método esta certo, o que nao consigo fazer é chamar esse metodo no welcome.jsp fazendo com que o bean pegue o valor digitado em um inputText e realize a pesquisa no modelo, e por fim listar em um dataTable.

Se alguem puder me ajudar fico muito grato.
Obrigado desde já.

3 Respostas

benignoms

Paulo,

O campo de pesquisa pode ser um <h:inputText value="#{seuController.cpf"/> no atributo value da tag você coloca o atributo do controller que você deseja espelhar no seu cado o cpf. É importante salientar que o atributo cpf deve conter seu getter e seu setter no managed ben.

private int cpf;

    public int getCpf() {
        return cpf;
    }

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

Bom, com isso você ja conseguirá manipular o atributo no seu controller, por exemplo, se você colocar um <h:commandButton action="#{seuController.buscaPorCPF}"/> dentro do mesmo formulário do inputText no método buscaPorCPF você poderá realizar a sua busca baseado no valor do atributo cpf.

Espero que tenha compreendido,

abraço.

pauloricardobraga

Benigno,
fiz como você me instruiu, no Bean eu verifico e realizo a pesquisa, mas nao consigo mostrar no welcome.jsp. O commandButton deve receber um retorno né?
mas como vou receber esse retorno da minha pesquisa no meu Bean para exibir para o usuario.

Muito Obirgado Benigno,
Abraço.

J

Posta seu jsp pra gente dar uma olhada

Criado 6 de novembro de 2010
Ultima resposta 8 de nov. de 2010
Respostas 3
Participantes 3