- 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>