Bom dia.
Faz pouco mais de 4 meses que estou trabalhando em projetos com um ambiente envolvendo Java, JBoss, Prime Faces…
Vou explicar o que está acontecendo e se seria possível fazer o que estou pretendendo.
No projeto existe uma página xhtml. Nesta página eu coloquei o componente messages do Prime Faces da seguinte forma:
<p:messages id="msg" autoUpdate="true" showDetail="true"/>
mais adiante na mesma página incluí um componente inputText da seguinte forma:
<div class="campo-grupo">
<h:outputLabel value="Sigla" />
<p:inputText id="sigla" value="#{escolaBean.escola.sigla}"
maxlength="100" required="true"
onblur="this.value=this.value.toUpperCase()"
requiredMessage="Preencha o campo sigla"
style="text-transform:uppercase; width:60px;"
title="Digite a sigla" />
</div>
No componente inputText eu setei as propriedades required e requiredMessage para que seja mostrada uma advertência quando o usuário não coloca nada neste campo.
Como no componente messages eu setei showDetail=“true”, na renderização desta página, ao apresentar a mensagem, ela aparece duas vezes.
O que eu queria é saber se tem como setar a segunda mensagem pelo xhtml. Tal como eu fiz em requiredMessage=“Preencha o campo sigla”.
Eu consigo fazer isso sem problemas se fizer essa checagem no bean.
De dentro do bean eu posso usar o FacesMessage(FacesMessage.SEVERITY_WARN, “mensagem 1”, “mensagem 2”); para que o componente apresente as duas mensagens.
Mas como tem várias páginas em que eu gostaria de incluir a possibilidade de mostrar o details da mensagem, ficaria mais simples se tivesse como setar a mensagem de detalhes pelo xhtml do que alterar vários beans.
Alguém já passou por algo semelhante e teria uma solução sem precisar alterar os beans??
Obrigado.