ActionErrors and ActionError
Previous | Home | Next |
ActionError and ActionErrors both class extends ActionMessage class.ActionError class encapsulation a single error message.ActionErrors class which acts as a container for a collection of ActionError instances.
In struts framework,There are two class for error management:-
- ActionError(Is Deprecated and will removed in future)
- ActionErrors
Validation errors are either global to the entire ActionForm bean or specific to a particular bean property.
ActionError class is composed of constructors and a single method that allow Add ActionError object to the current collection of ActionErrors.
There are two add() method that shows how ActionError object can be added
Example :-
Directory Structure of ErrorsTagExample in Struts 1.3 Using MyEclipse IDE

<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html> <head> <title>Struts html:errors tag example</title> </head> <body> <h3>Struts html:errors tag example</h3> <div style="color: red;"> <html:errors/> </div> <html:form action="/errorsAction"> <bean:message key="label.name"/>: <html:text property="name" name="errorsForm"/><br/> <bean:message key="label.password"/>: <html:text property="password" name="errorsForm"/><br/> <br/> <html:submit><bean:message key="label.submit" /></html:submit> <html:reset><bean:message key="label.reset" /></html:reset> </html:form> </body> </html>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Maven Struts Examples</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/struts-config.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="errorsForm" type="org.r4r.struts.ErrorsForm"/> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action path="/errors" type="org.apache.struts.actions.ForwardAction" parameter="/index.jsp"/> <action path="/errorsAction" type="org.r4r.struts.ErrorsAction" name="errorsForm" input="/index.jsp"> <forward name="success" path="/success.jsp"/> </action> </action-mappings> <message-resources parameter="org.r4r.struts.ApplicationResources" /> </struts-config>
package org.r4r.struts; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; @SuppressWarnings("serial") public class ErrorsForm extends ActionForm { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (name == null || name.length() < 1) { errors.add("name", new ActionMessage("error.name.required")); } if (password == null || password.length() < 1) { errors.add("password", new ActionMessage("error.password.required")); } return errors; } }
package org.r4r.struts; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class ErrorsAction extends Action { public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception{ @SuppressWarnings("unused") ErrorsForm passwordForm=(ErrorsForm)form; return mapping.findForward("success"); } }
#label message label.name = User Name label.password = Password label.submit = Submit label.reset = Reset error.name.required= Name is required<br/> error.password.required= Password is required
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <html> <head> <title>Struts html:errors tag example</title> </head> <body> <h3>Struts html:errors tag Example</h3> <h4>Welcome , <bean:write name="errorsForm" property="name" /></h4> </body> </html>

Previous | Home | Next |