JSF: Como devo utilizar o componente de mensagem de alerta quando possuem vários na mesma tela?

4 respostas
E

Boa tarde pessoal!
Gostaria de uma ajuda de vocês.
Há uma página JSF onde possui vários <t:messages>. Quando clico no botão salvar, eu adiciono a mensagem de erro no contexto do JSF, mas eu desejo que a mensagem seja exibida somente em um determinado <t:messages>.
Tentei utilizar o seguinte código abaixo, mas não obtive sucesso:

FacesContext.getCurrentInstance().addMessage("idDoMessages", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Mensagem de erro.", ""));

Alguém pode me ajudar, usando esse componente ou o <h:message/> ou o <rich:message/> ou qualquer outro?
Obrigado pela ajuda!

4 Respostas

R

Acho que neste caso vc devera utilizar o <h:message>

veja

http://www.jsftoolbox.com/documentation/help/12-TagReference/html/h_message.html

E

Mas aí para eu inserir o erro na mão através do meu bean, eu teria que fazer dessa forma mesmo?

FacesContext.getCurrentInstance().addMessage("idDoMessages", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Mensagem de erro.", ""));
N

Tenta passar null ao invés de “idDoMessages”… no severity você tbm pode enviar null após a mensagem. Uso dessa forma com o <h:messages> normalmente, não é necessário ter um messages para cada msg que queira exibir.

E

Olá narahaddad!

Realmente não é necessário ter um <h:message/> para cada mensagem que desejo exibir, mas no meu caso era necessário.
A tela que eu me referia é uma tela totalmente dinâmica, onde cada parte dela é montada de uma forma diferente. (chamamos cada parte de banda)
Ou seja, a tela possui as bandas X, Y e Z, os botões SalvarX, SalvarY e SalvarZ, e as mensagens messageX, messageY e messageZ. (Isso é um exemplo).
Se eu clicar no botão SalvarX e houvesse alguma coisa errado com a validação, gostaria que a mensagem fosse exibida somente no messageX, mas o que estava acontecendo é que todos os messages estavam recebendo =/
Eu consegui contornar o problema de uma forma não muito elegante.

Se tiver alguma sugestão para ele eu agradeço!
Obrigado :slight_smile:

Criado 29 de junho de 2011
Ultima resposta 30 de jun. de 2011
Respostas 4
Participantes 3