JSF : Setting a custom message from a backing bean

So yeah !! I thought of writing something about JSF. Since am working with it for Nealy 3 months now. So how about custom message handling for starters !! 🙂

JSF message tag is pretty useful in many places. for an example, for the use of validators. but what i wanted to write here is, not how a message is shown after validation.

Think after some database transaction you wanted to say “Transaction is successful or not successful” or in some random scenario if you wanted to show a message in anywhere in your web-page at anytime, you can do that from your backing bean with out much effort.

I will take the tomahawk fileupload tag as an example JSF tag. so in the JSP side it will look like



	
               value="#{bbaBean.theFile}" storage="file"
               styleClass="fileUploadInput"
               required="true">
        

               errorstyle="Color: red;">



                 action="#{bbaBean.uploadFile}" styleclass="linkbox">

And when the upload button is clicked the uploadFile method will be invoked in our backing bean. which will look like..

public String uploadFile throws IOException {

       FacesMessage messageErr =
               new FacesMessage(FacesMessage.SEVERITY_ERROR,
                     "ERROR : ",
                     "XML File you have uploaded is not compatible");

       FacesMessage messageSuc = new FacesMessage(
              "The XML File You have uploaded is successfully
                                           added to the Database");

       FacesContext fc = FacesContext.getCurrentInstance();

       try {
              //TODO: Transaction or logic....
               fc..addMessage("form1:fileupload", messageSuc);
       } catch(Exception e) {
               fc.addMessage("form1:fileupload", messageErr);
       }
}

Simply that is it. So when an exception occurs your JSP page shows the custom error message. One other thing is you can set the message type too. if its and error message as i have shown make it’s SEVERITY to ERROR. and add an error style class for the tag. so your error message will be shown different than the other messages..

so yeah enjoy..

One thought on “JSF : Setting a custom message from a backing bean”

  1. Halo du sehr interessanten Weblog hast du. Ich selbst habe auch schon länger eine eigene Webseite hochgeladen, eine Suchmaschiene. gerade noch zu finden unter beta.jerome.de . Währe schön von dir wenn du mir berichtest wie du sie findest und was noch verbesserbar daran ist. Ein Design kommt erst im laufe des Tages noch hinzu. Dankeschön – 345zhf4

    Like

Leave a comment