nur eine Message auf Faceskontext ausgeben

schlumsch

Mitglied
Hallo allerseits,

ich habe da mal eine (sicher leicht zu lösende) frage zum Thema JSf Messages.
Ich schieben mehrere Message in meinen facesContext. Diese kann ich ir
auch wunderbar alle in jsf ausgeben lassen. Nun möchte ich aber nur eine
ganz bestimmte Message haben, im Beispiel unten die "myMessage".
Die Frage: wie?

Ich danke schonmal im Voraus und poste ein wenig Code *g*...


Code:
addMyFacesMessage(FacesMessage.SEVERITY_INFO, "this is my Message");
addNewFacesMessage(FacesMessage.SEVERITY_ERROR, "select Language");


   private void addMyFacesMessage(Severity sev, String msg) {
      FacesMessage myMsg = new FacesMessage();
      myMsg.setDetail(msg);
      myMsg.setSeverity(sev);
      FacesContext.getCurrentInstance().addMessage("myMessage", myMsg);
   }

   private void addNewFacesMessage(Severity sev, String msg) {
      FacesMessage newMsg = new FacesMessage();
      newMsg.setDetail(msg);
      newMsg.setSeverity(sev);
      FacesContext.getCurrentInstance().addMessage(null, newMsg);


...und...

Code:
   public void checkForInfos() {
      FacesContext context = getContext();
      context.getMessages("myMessage");
      if (context.getMessages().hasNext())
         setHasInfos(true);
      else
         setHasInfos(false);      
   }


in jsf:

Code:
   <a4j:outputPanel rendered="#{ctrl.hasInfos}" id="infoMsgs" infoClass="portlet-form-msg-panel">
           <h:outputText value="Infos:"  infoClass="portlet-form-msg" /><br/>
           <h:messages showDetail="true"></h:messages>
    </a4j:outputPanel>
 
Zurück