Display error messages in JSF [ h:messages ] – part 1

  • Topic : Java Server Faces (JSF)
  • Environment : J2EE 5.0, MyFaces 1.1.5

errorMessage.jsp

also read:


<!--
   Source : www.javabeat.net
-->
<html>
    <body>
          <f:view>
              <h:form id="select">
                   <h:messages />
                   <h:inputText id="name" value="#{errorMessageBean.name}"/>
                   <h:commandButton value="Submit" action="#{errorMessageBean.submit}"/>
              </h:form>
          </f:view>
    </body>
</html>
 

ErrorMessageBean.java


/**
 * Source : www.javabeat.net
 * */
package net.javabeat.myfaces.error;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

public class ErrorMessageBean {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public String submit(){
        String viewId = "";
        if (this.name == null || this.name.length() == 0){
            FacesMessage fm = new FacesMessage("Field is Empty");
            FacesContext.getCurrentInstance().addMessage("Field is Empty", fm);
            viewId = "errorMessageBeanSuccess";
        }
        else{
            FacesMessage fm = new FacesMessage("Validation Success");
            FacesContext.getCurrentInstance().addMessage("Field is Empty", fm);
            viewId = "errorMessageBeanFail";
        }
        return viewId;
    }
}

faces-config.xml

<managed-bean>
        <managed-bean-name>
            errorMessageBean
        </managed-bean-name>
        <managed-bean-class>
            net.javabeat.myfaces.error.ErrorMessageBean
        </managed-bean-class>
        <managed-bean-scope>
            request
        </managed-bean-scope>
    </managed-bean>

    <navigation-rule>
        <navigation-case>
            <from-outcome>
                errorMessageBeanSuccess
            </from-outcome>
            <to-view-id>
                /pages/error/errorMessageResult.jsp
            </to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <navigation-case>
            <from-outcome>
                errorMessageBeanFail
            </from-outcome>
            <to-view-id>
                /pages/error/errorMessage.jsp
            </to-view-id>
        </navigation-case>
    </navigation-rule>

errorMessageResult.jsp

<!--
   Source : www.javabeat.net
-->
<html>
    <body>
          <f:view>
              <h:form id="select">
                   <h:messages/>
              </h:form>
          </f:view>
    </body>
</html>

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Speak Your Mind

*