2
respostas

Remover não atualiza a tabela de livros

Boa tarde, nessa ultima alteração na tabela de livros o botão de remover não esta atualizando a tabela de livros, isto acontece com mais alguém?

2 respostas

Olá Hedvelton, blz?

Poste seu código do bean e xhtml, para que eu possa tentar te ajudar.

Ele exclui o registro, porem não da refresh na tabela, se eu clicar no link no navegador para dar o refresh ai sim atualiza.......

<?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 Livros Cadastro de Livros

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 List livros;

public void setAutorId(Integer autorId) { this.autorId = autorId; }

public Integer getAutorId() { return autorId; }

public Livro getLivro() { return livro; }

public List getLivros() { DAO dao = new DAO(Livro.class);

if (this.livros == null) { this.livros = dao.listaTodos(); }

return livros; }

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

public void gravar() { System.out.println("Gravando livro " + this.livro.getTitulo());

if (livro.getAutores().isEmpty()) { // throw new RuntimeException("Livro deve ter pelo menos um // Autor."); FacesContext.getCurrentInstance().addMessage("autor", new FacesMessage("Livro deve ter pelo menos um Autor")); return; }

DAO dao = new DAO(Livro.class); if (this.livro.getId() == null) { dao.adiciona(this.livro); this.livros = dao.listaTodos(); } else { dao.atualiza(this.livro); }

this.livro = new Livro(); }

public void remover(Livro livro) { System.out.println("Removendo livro"); new DAO(Livro.class).remove(livro); }

public void removerAutorDoLivro(Autor autor) { this.livro.removerAutor(autor); }

public void carregar(Livro livro) { System.out.println("Carregando livro"); this.livro = livro; }

public String formAutor() { System.out.println("Chamanda o formulario 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("Deveria começar com 1")); } } }