2
respostas

Erro ao acessar página livro.xmhtl

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

2 respostas

Ola não estou começando essa matéria agora tambem, mas não seria o seu livro.xmhtl errado? o certo nao seria livro.xhtml?

sim é livro.xhtml eu que digitei errado, porém da o mesmo erro