Olá Amigos, o meu <h:messages/> não funciona.
Agora o que é estranho, é que se no bean, eu retornar o método para a página, de edição ou pro index, ele exibe a mensagem, mesmo sem <message/>. MESMO SEM TER A TAG NA PAGINA!!
Mas quando retorno pra página inicial, ele não exibe, mesmo com a tag… vou colar agora o código do bean e o código do html principal e o html de edicao;
@Named(value="tipoContatoBean")
@ManagedBean
@RequestScoped
public class TipoContatoBean {
@EJB
private TipoContatoFacade tipoContatoFacade;
private TipoContato tipoContato;
private DataModel<TipoContato> tipoContatoDados;
private TipoContato tipoContatoRetorno = new TipoContato();
private String INICIO = "inicio";
private String TIPOCONTATO = "tipoContato";
private String EDITATIPOCONTATO = "editaTipoContato";
/**
* Creates a new instance of TipoContatoBean
*/
public TipoContatoBean() {
init();
}
private void init(){
tipoContato = new TipoContato();
}
public String salvar(){
tipoContato = getTipoContato();
if(tipoContato.getDescricao() != null && tipoContato.getDescricao() != ""){
try{
this.tipoContatoFacade.salvar(tipoContato);
FacesContext.getCurrentInstance().addMessage("sucesso", new FacesMessage(FacesMessage.SEVERITY_INFO, "Tipo de Contato Inserido com sucesso.", "sucesso"));
}catch (Exception e){
FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro ao Inserir Tipo de Contato", "erro"));
}
}
return TIPOCONTATO;
}
public String entra(){
return TIPOCONTATO;
}
public String editar(){
this.tipoContatoRetorno = getTipoContatoRetorno();
if(tipoContatoRetorno.getDescricao() != null && tipoContatoRetorno.getDescricao() != ""){
try{
this.tipoContatoFacade.atualizar(tipoContatoRetorno);
FacesContext.getCurrentInstance().addMessage("sucesso", new FacesMessage(FacesMessage.SEVERITY_INFO, "Tipo de Contato Atualizado com sucesso", "sucesso"));
}catch (Exception e){
FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao atualizar Tipo de Contato", "erro"));
}
}
return EDITATIPOCONTATO;
}
public String excluir(){
TipoContato tc = (TipoContato) tipoContatoDados.getRowData();
try{
this.tipoContatoFacade.excluir(tc);
FacesContext.getCurrentInstance().addMessage("sucesso", new FacesMessage(FacesMessage.SEVERITY_INFO, "Tipo de Contato Excluido com sucesso", "sucesso"));
}catch(Exception e){
FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro ao atualizar Tipo de Contato", "erro"));
}
return TIPOCONTATO;
}
public String tipoContatoEdicao(){
System.out.print("entrou aqui1"+tipoContatoDados.getRowData());
TipoContato tc = (TipoContato) tipoContatoDados.getRowData();
setRetornoEdicao(tc);
return EDITATIPOCONTATO;
}
public void setRetornoEdicao(TipoContato tipoContato){
setTipoContatoRetorno(this.buscaContato(tipoContato));
System.out.print("entrou aqui2"+tipoContatoRetorno);
}
public DataModel<TipoContato> getListaTiposContato(){
DataModel<TipoContato> retorno = null;
try{
retorno = new ListDataModel<TipoContato>(this.tipoContatoFacade.listarTodos());
tipoContatoDados = retorno;
}catch (Exception e){
}
return retorno;
}
public TipoContato buscaContato(TipoContato tipo){
TipoContato retorno = null;
try{
retorno = tipoContatoFacade.buscar(tipo.getIdTipoContato());
}catch (Exception e){
}
return retorno;
}
public String voltar(){
return INICIO;
}
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui">
<f:loadBundle basename="messages" var="msgs" ></f:loadBundle>
<ui:composition template="/paginas/layout/layout.xhtml">
<ui:define name="content">
<h:messages />
<f:view>
<h3>Cadastro de tipo de contato</h3>
<h:form>
<h:inputText value="#{tipoContatoBean.tipoContato.descricao}"/>
<h:commandButton action="#{tipoContatoBean.salvar}" value="Cadastrar"/>
</h:form>
<h:dataTable value="#{tipoContatoBean.listaTiposContato}" var="tipo">
<h:column>
<f:facet name="header">
<h:outputText value="#{msgs.id}"/>
</f:facet>
<h:outputText value="#{tipo.idTipoContato}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msgs.nome}"/>
</f:facet>
<h:outputText value="#{tipo.descricao}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msgs.acao}"/>
</f:facet>
<h:form>
<h:commandLink action="#{tipoContatoBean.tipoContatoEdicao}" value="#{msgs.editar}"/>
<h:commandLink action="#{tipoContatoBean.excluir}" value="#{msgs.excluir}"/>
</h:form>
</h:column>
</h:dataTable>
<h:form>
<h:commandLink action="#{tipoContatoBean.voltar()}" value="Voltar"/>
</h:form>
</f:view>
</ui:define>
</ui:composition>
</html>
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<f:loadBundle basename="messages" var="msgs" />
<ui:composition template="/paginas/layout/layout.xhtml">
<ui:define name="content">
<f:view>
<h3>Edição de tipo de contato</h3>
<h:form>
<h:inputHidden value="#{tipoContatoBean.tipoContatoRetorno.idTipoContato}"/>
<h:inputText value="#{tipoContatoBean.tipoContatoRetorno.descricao}"/>
<h:commandButton action="#{tipoContatoBean.editar}" value="Editar"/>
<h:commandLink action="#{tipoContatoBean.entra}" value="#{msgs.voltar}"/>
</h:form>
</f:view>
</ui:define>
</ui:composition>
</html>