Estou tenta acessar a página livro.xhtml gerou esse erro: /livro.xhtml: Property 'carregarLivroPelaId' not found on type br.com.caelum.livraria.bean.LivroBean
não entendi, pois carregarLivroPelaId é um método porque ele pede get?
LivroBean: package br.com.caelum.livraria.bean;
import java.io.Serializable; import java.util.List;
import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.ValidatorException;
import br.com.caelum.livraria.dao.DAO; import br.com.caelum.livraria.modelo.Autor; import br.com.caelum.livraria.modelo.Livro;
@ManagedBean @ViewScoped public class LivroBean implements Serializable {
private static final long serialVersionUID = 1L;
private Livro livro = new Livro();
private Integer autorId;
private Integer livroId;
public void setAutorId(Integer autorId) { this.autorId = autorId; }
public Integer getAutorId() { return autorId; }
public Livro getLivro() { return livro; }
public Integer getLivroId() { return livroId; }
public void setLivroId(Integer livroId) { this.livroId = livroId; }
public List getLivros() { return new DAO(Livro.class).listaTodos(); }
public List getAutores() { return new DAO(Autor.class).listaTodos(); }
public List getAutoresDoLivro() { return this.livro.getAutores(); }
public void gravarAutor() { Autor autor = new DAO(Autor.class).buscaPorId(this.autorId); this.livro.adicionaAutor(autor); System.out.println("Escrito por: " + autor.getNome()); }
public void gravar() { System.out.println("Gravando livro " + this.livro.getTitulo());
if (livro.getAutores().isEmpty()) { FacesContext.getCurrentInstance().addMessage("autor", new FacesMessage("Livro deve ter pelo menos um Autor.")); return; }
if (this.livro.getId() == null) { new DAO(Livro.class).adiciona(this.livro); } else { new DAO(Livro.class).atualiza(this.livro); }
this.livro = new Livro(); }
public void carregar(Livro livro) { System.out.println("Carregando livro " + livro.getTitulo()); this.livro = livro; }
public void remover(Livro livro) { System.out.println("Removendo livro " + livro.getTitulo()); new DAO(Livro.class).remove(livro); }
public void removerAutorDoLivro(Autor autor) { this.livro.removeAutor(autor); }
public String formAutor() { System.out.println("Chamanda do formulário do Autor."); return "autor?faces-redirect=true"; }
public void comecaComDigitoUm(FacesContext fc, UIComponent component, Object value) throws ValidatorException {
String valor = value.toString(); if (!valor.startsWith("1")) { throw new ValidatorException(new FacesMessage( "ISBN deveria começar com 1")); }
}
public void carregarLivroPelaId() { this.livro = new DAO(Livro.class).buscaPorId(livroId); }
} livro.xmhtl:
<?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">
Novo Livro
Dados do Livro
Dados do Autor
Título ISBN Preço Data Alterar Remover