Olá,
cheguei a debugar até passar a String para metodo SessionUtil
e não joga a mensagem na tela.
Alguém pode me ajudar …
abs
<body>
<f:view>
<h:form>
<h:outputText value ="Cadastro de Usuário"/>
<rich:message infoLabelClass="messageInfo" errorLabelClass="messageError">
<f:facet name="infoMarker">
<h:graphicImage value="imagens/sucesso.gif"/>
</f:facet>
<f:facet name="errorMarker">
<h:graphicImage value="imagens/erro.gif"/>
</f:facet>
</rich:message>
---
public String salvar(){
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try{
session.merge(usuario);
t.commit();
SessionUtil.addSucessMessage("OperacaoSucesso");
usuario= new PubUsuario();
}catch(Exception e){
t.rollback();
SessionUtil.addSucessMessage("OperacaoFracasso");
status="Inclusão com Problema "+e;
}
return "sucesso";
}
--- messages.properties
OperacaoSucesso=Operação concluida com Sucesso.
OperacaoFracasso=Operação não Concluida.
---
public class SessionUtil {
private static ResourceBundle bundle = ResourceBundle.getBundle("messages",FacesContext.getCurrentInstance().getViewRoot().getLocale());
public static void addErrorMessage(String msg){
msg = bundle.getString(msg);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR,msg,msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, facesMsg);
}
public static void addSucessMessage(String msg){
msg = bundle.getString(msg);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO,msg,msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage("sucessInfo", facesMsg);
}
}