Como passar parâmetros para uma chamada de função em JSF com commandButton

0 respostas
jsfprimefacesjava
romerorussel

Boa tarde pessoal,

Bom… estou com um problema, tenho um projeto de uma biblioteca onde tenho que fazer um CRUD e uma associação de cliente aluga livro, grande parte já fiz, porém estou tendo dificuldades nessa parte da associação, meu código JSF e Bean respectivamente é o seguinte:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui">
<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <link rel="stylesheet" href="WEB-INF/lib/Style.css" />
    <title>eLibrary</title>
</h:head>
<h:body>
    <!-- h:outputText value="Olá Mundo !" /-->
    <p:panel header="eLibrary Cadastro de Livro" style="width:100%;">
        <h:form>
            <p:inputText placeholder="Digite o título do livro" value="#{livroMB.titulo}"/><br />
            <p:inputText placeholder="Digite o autor do livro" value="#{livroMB.autor}"/><br />
            <p:inputText placeholder="Digite o isbn do livro" value="#{livroMB.isbn}"/><br />
            <p:commandButton value="Adicionar Livro" action="#{livroMB.adiciona()}"/>
            
                
        </h:form>
    </p:panel>
    <p:panel header="eLibrary Remoção de Livro" style="width:100%;">
        <h:form>
                <p:commandButton value="Remover Livro" action="#{livroMB.removerLivro()}"/>
        </h:form>
    </p:panel>
    <p:panel header="eLibrary Atualização de Livro" style="width:100%;">
        <h:form>
                <p:inputText placeholder="Digite o isbn do livro" value="#{livroMB.isbn}"/><br />
                <p:inputText placeholder="Digite o novo título do Livro" value="#{livroMB.titulo}"></p:inputText><br />
                <p:inputText placeholder="Digite o novo Autor do Livro" value="#{livroMB.autor}"></p:inputText><br />
                <p:commandButton value="Atualizar Livro" actionListener="#{livroMB.alterarLivro()}"/>
        </h:form>
        </p:panel>
        
            <h:form>
            <p:commandButton value="Listar" actionListener="#{livroMB.listarLivro()}" update="@form" ajax="true"></p:commandButton>
            <p:dataTable var="livros" value="#{livroMB.livro}" rows="5" paginator="true">
            
                <p:column headerText="ISBN">
                <h:outputText value="#{livros.isbn}" ></h:outputText>
            </p:column>
    
            <p:column headerText="Título">
                <h:outputText value="#{livros.titulo}" ></h:outputText>
            </p:column>
         
            <p:column headerText="Autor">
                <h:outputText value="#{livros.autor}"></h:outputText>
            </p:column>
         
            </p:dataTable>
        </h:form>
            <h:outputText value="#{livroMB.titulo}" />
            
            <p:panel header="Cadastro do Cliente" style="width:100%;">
                <h:form>
                    <p:inputText placeholder="Digite seu Nome" value="#{clienteMB.nome}"></p:inputText>
                    <p:inputText placeholder="Digite seu CPF" value="#{clienteMB.CPF}"></p:inputText>
                    <p:commandButton value="Cadastrar" actionListener="#{clienteMB.cadastrarCliente()}"></p:commandButton>
                </h:form>
            </p:panel>
                <p:panel header="Alugar Livro" style="width:100%;">
                    <h:form>
                        <p:inputText placeholder="Digite seu CPF" value="#{aluguelLivroMB.cpf}"></p:inputText>
                        <p:inputText placeholder="Digite ISBN do livro" value="#{aluguelLivroMB.isbn}"></p:inputText>
                        <p:commandButton value="Alugar" action="#{aluguelLivroMB.adicionarAluguel(livroMB.livro, clienteMB.cliente.)}"></p:commandButton>
                    </h:form>
                </p:panel>
            <p:dataTable var="aluguel" rows="5" paginator="true">
                <p:column headerText="Nome do Cliente">
                    <h:outputText value="#{aluguel.cliente}" ></h:outputText>
                </p:column>
                <p:column headerText="Livros Alugado">
                    <h:outputText value="#{aluguel}" ></h:outputText>
                </p:column>
            </p:dataTable>
</h:body>
</html>

package br.com.elibrary.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;


import br.com.elibrary.modelo.AluguelLivro;
import br.com.elibrary.modelo.Cliente;
import br.com.elibrary.modelo.Livro;

@ManagedBean
public class aluguelLivroMB {
    int isbn;
    int cpf;
    private List<Livro> listaLivro;
    private List<Cliente> listaCliente;
    
    public int getIsbn() {
        return isbn;
    }
    public void setIsbn(int isbn) {
        this.isbn = isbn;
    }
    public int getCpf() {
        return cpf;
    }
    public void setCpf(int cpf) {
        this.cpf = cpf;
    }
    
    public void adicionarLivro(List<Livro> livro, Cliente cliente){
        
        
        if(livro.contains(this.getIsbn())){
            AluguelLivro aluguel = new AluguelLivro();
            aluguel.setIsbn(this.getIsbn());
            aluguel.setCpf(cliente.getCPF());
        } else {
            System.out.println("Não foi possível adicionar o livro !");
        }
        
        
    }
    
    
    
    public List<Livro> getListaLivro() {
        return listaLivro;
    }
    public void setListaLivro(List<Livro> listaLivro) {
        this.listaLivro = listaLivro;
    }
    public List<Cliente> getListaCliente() {
        return listaCliente;
    }
    public void setListaCliente(List<Cliente> listaCliente) {
        this.listaCliente = listaCliente;
    }
    
    
    
}
Criado 6 de outubro de 2016
Respostas 0
Participantes 1