Boa tarde, Desenvolvi uma classe para apresentar mensagem de erro na tela e a mesma não aparece, exibindo a mensagem de erro abaixo:
"INFORMAÇÕES: AVISO: FacesMessage(s) foram enfileirados, mas podem não ter sido exibidos. sourceId=null[severity=(ERROR 2), summary=(ddddddddddd), detail=(ddddddddddd)] nov 20, 2018 3:43:27 PM com.sun.faces.renderkit.html_basic.MessageRenderer encodeEnd ADVERTÊNCIA: 'for' attribute cannot be null "
JsfUtil
package br.com.caelum.livraria.util;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
//import javax.swing.JOptionPane;
public class JsfUtil {
public static void addErrorMessage(String msg) {
System.out.println("classe JsfUtil - A1");
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg);
FacesContext.getCurrentInstance().addMessage(null, facesMsg);
System.out.println("classe JsfUtil - A2");
}
public static void addSuccessMessage(String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg);
FacesContext.getCurrentInstance().addMessage("successInfo", facesMsg);
}
}
LivroBean
package br.com.caelum.livraria.bean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
//import com.sun.javafx.collections.MappingChange.Map;
import br.com.caelum.livraria.dao.DAO;
import br.com.caelum.livraria.modelo.Autor;
import br.com.caelum.livraria.modelo.Cadastro;
import br.com.caelum.livraria.util.JsfUtil;
@ManagedBean
@ViewScoped
public class LivroBean {
private Cadastro livro = new Cadastro();
private Integer autorId;
private ArrayList<Cadastro> listaRelatorio = new ArrayList<Cadastro>();
HashMap<JTextField, Boolean> camposVerificados = new HashMap<JTextField, Boolean>();
public void setAutorId(Integer autorId) {
this.autorId = autorId;
}
public Integer getAutorId() {
return autorId;
}
public Cadastro getLivro() {
return livro;
}
//POPULA COMBO BOX
public List<Autor> getAutores(){
return new DAO<Autor>(Autor.class).listaTodos();
}
public List<Autor> getAutoresDoLivro(){
return this.livro.getAutores();
}
public void gravarAutor(){
Autor autor = new DAO<Autor>(Autor.class).buscaPorId(this.autorId);
this.livro.adicionaAutor(autor);
System.out.println("Livro escrito por: " +autor.getNome());
}
public void gravar() {
if (livro.getRequisicao().isEmpty() || livro.getArea().isEmpty() || livro.getNomerelatorio().isEmpty()|| livro.getLink().isEmpty() ||
livro.getObjetivo().isEmpty() || livro.getSolicitante().isEmpty() || livro.getSigla().isEmpty() || livro.getDiretoria().isEmpty() ||
livro.getResponsavel().isEmpty() || livro.getDescricao().isEmpty()){
JsfUtil.addErrorMessage("ddddddddddd");
System.out.println("classe gravar - A1");
}else{
new DAO<Cadastro>(Cadastro.class).adiciona(this.livro);
this.livro = new Cadastro();
JsfUtil.addErrorMessage("Gravado com Sucessooooo!! ");
}
}
public void buscar(){
try{
new DAO<Cadastro>(Cadastro.class).listaTodos();
this.livro = new Cadastro();
JsfUtil.addErrorMessage("Não cosnultado");
}catch (Exception e) {
}
}
public ArrayList<Cadastro> getListaRelatorio() {
new DAO<Cadastro>(Cadastro.class).listaTodos();
return listaRelatorio;
}
public void setListaRelatorio(ArrayList<Cadastro> listaRelatorio) {
this.listaRelatorio = listaRelatorio;
}
}