Gostaria de saber se algem poderia me dizer onde estou errando pois já fiz inumeros testes e ñ consegui resolver meu problema.
Bem tenho uma classe para pegar as mensagens.
public class Messages {
public FacesContext getMessage(String msg) {
FacesContext context = FacesContext.getCurrentInstance();
ResourceBundle bundle = ResourceBundle.getBundle("messages", context
.getViewRoot().getLocale());
String mensagem = bundle.getString(msg);
context.addMessage(null, new FacesMessage(mensagem, mensagem));
return context;
}
public FacesContext getMessage(String id, String msg) {
FacesContext context = FacesContext.getCurrentInstance();
ResourceBundle bundle = ResourceBundle.getBundle("messages", context
.getViewRoot().getLocale());
String mensagem = bundle.getString(msg);
context.addMessage(id, new FacesMessage(mensagem, mensagem));
return context;
}
}
Meu MBean q chama esta classe
public class GrupoMBean extends AbstractMBean<Grupo> {
private static int _counter = 0;
public GrupoMBean() {
logger.info("NEW INSTANCE: " + getClass() + " : " + (++_counter));
System.out
.println("NEW INSTANCE: " + getClass() + " : " + (++_counter));
}
public String salvar() {
try {
if (grupoVO.getGrpCodigo() != null) {
editar();
} else {
incluir();
}
} catch (Exception e) {
e.printStackTrace();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "formGrupo";
}
private void incluir() throws Exception {
TipoGrupoVO tipoVO = null;
StatusGrupoVO statusVO = null;
Long idTipo = tipoSelect;
Long idStatus = statusSelect;
tipoVO = getDelegate().consultarTipoGrupo(idTipo);
statusVO = getDelegate().consultarStatusGrupo(idStatus);
// TODO: implementar o setDominio()
DominioVO d = new DominioVO();
d.setDomCodigo("1");
grupoVO.setDominioVO(d);
grupoVO.setTipoGrupoVO(tipoVO);
grupoVO.setStatusGrupoVO(statusVO);
grupoVO.setGrpCodigo((Long) getDelegate().incluirGrupo(grupoVO));
// if(((Long)getDelegate().incluirGrupo(grupoVO))==-1){
// TODO: Implementar uma mensagem de de erro para o ususario
// }
FacesContext context = FacesContext.getCurrentInstance();
ResourceBundle bundle = ResourceBundle.getBundle("messages", context
.getViewRoot().getLocale());
String mensagem = bundle.getString("msgGrupoIncluso");
context.addMessage("salvar", new FacesMessage(
FacesMessage.SEVERITY_WARN, mensagem, mensagem));
Messages msgs = new Messages();
msgs.getMessage("salvar", "msgGrupoIncluso");
msgs.getMessage("msgGrupoAlterado");
System.out.println(msgs.getMessage("salvar", "msgGrupoIncluso"));
}
private void editar() {
TipoGrupoVO tipoVO = null;
StatusGrupoVO statusVO = null;
Long idTipo = tipoSelect;
Long idStatus = statusSelect;
try {
tipoVO = getDelegate().consultarTipoGrupo(idTipo);
statusVO = getDelegate().consultarStatusGrupo(idStatus);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
grupoVO.setTipoGrupoVO(tipoVO);
grupoVO.setStatusGrupoVO(statusVO);
try {
getDelegate().alterarGrupo(grupoVO);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Messages msgs = new Messages();
msgs.getMessage("salvar", "msgGrupoAlterado");
msgs.getMessage("msgGrupoAlterado");
System.out.println("MENSAGEM: "+msgs.getMessage("salvar", "msgGrupoAlterado"));
System.out.println("CONTEXT: "+msgs.getMessage("msgGrupoAlterado"));
}
}
E meu for
<h:form class="form" id="formGrupo">
<fieldset>
<ol>
<li>
<h:outputLabel value="#{msgs.labelCodigo}"/>
<h:outputText value="#{grupoMBean.grupoVO.grpCodigo}" />
<!-- <input jsfc="h:inputHidden" value="#{grupoMBean.grupoVO.grpCodigo}"
id="codigo" name="codigo" type="hidden" />-->
</li>
<li>
<h:outputLabel value="#{msgs.labelNome}" for="nome"/>
<h:inputText id="nome"
label="#{msgs.labelNome}"
name="nome"
maxlength="30"
value="#{grupoMBean.grupoVO.grpNome}"
required="true"
onblur="this.className='border';"
onfocus="this.className='border focus';"
requiredMessage="#{msgs.msgCampoObrigatorio}"/>
<h:message for="nome" />
</li>
<li>
<h:outputLabel value="#{msgs.labelTipo}" for="tipo"/>
<h:selectOneMenu id="tipo"
name="tipo"
required="true"
requiredMessage="#{msgs.msgCampoObrigatorio}"
value="#{grupoMBean.tipoSelect}"
class="border" >
<f:selectItems id="tipos" value="#{grupoMBean.comboTipos}" />
</h:selectOneMenu>
<h:message for="tipo" />
</li>
<li>
<h:outputLabel value="#{msgs.labelStatus}" for="status"/>
<h:selectOneMenu id="status"
name="status"
required="true"
requiredMessage="#{msgs.msgCampoObrigatorio}"
value="#{grupoMBean.statusSelect}"
class="border" >
<f:selectItems id="statuss" value="#{grupoMBean.comboStatus}" />
</h:selectOneMenu>
<h:message for="status" />
</li>
<li>
<h:outputLabel value="#{msgs.labelTempoSupervisor}" />
<h:inputText id="tempoSupervisor"
name="tempoSupervisor"
required="true"
requiredMessage="#{msgs.msgCampoObrigatorio}"
value="#{grupoMBean.grupoVO.grpTemposup}"
type="text"
maxlength="4"
class="border"
onblur="this.className='border';"
onfocus="this.className='border focus';" />
<h:message for="tempoSupervisor" />
</li>
</ol>
</fieldset>
<p>
<a jsfc="h:commandLink"
action="#{grupoMBean.salvar}"
id="salvar"
href="javascript:void(null);"
class="button"
onclick="this.blur();"
onkeypress="this.blur();">
<strong>#{msgs.buttonSalvar}</strong>
</a>
<a href="javascript:history.back();" class="button"
onclick="this.blur();" onkeypress="this.blur();">
<strong>#{msgs.buttonCancelar}</strong>
</a>
<a jsfc="h:commandLink" action="#{grupoMBean.vaiPaPQP}" id="pqp"
immediate="true"
href="javascript:void(null);" class="button"
onclick="this.blur();" onkeypress="this.blur();">
<strong>pqp</strong>
</a>
<br />
<h:messages showSummary="true" showDetail="true" style="color: blue" />
<h:message for="salvar" showSummary="true" showDetail="true" style="color: red" />
</p>
</h:form>
e ao executar nada acontece ñ me retorna nenhuma mensage o meu sysout mostra a mensagem correta como esta no meu arquivo de properties mais na página a mesma ñ aparece.
Se qlguem puder enchergar oude estou errando e puder me ajudar fico muito grato.