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;
}
}