javajspstrutsstruts-validation

<html:errors> struts tutorial or example


I'm trying to make a login page in Struts. The idea is to validate if the user exists, etc, and then if there is an error, return to the login page with the errors in red (the typical login or any form page validation).

I would like to know if someone knows an errors management tutorial in Struts. I'm looking specially for a tutorial (or example) of the

<html:errors>

tag, which I think would solve my problem.


Solution

  • Here's a quick summary. You have an ActionForm class, say MyForm:

    <form-bean name="myForm" type="myapp.forms.MyForm"/>
    

    You have an Action class, say MyAction:

    <action path="/insert" type="myapp.actions.MyAction" name="myForm"
       input="/insert.jsp" validate="true" />
      <forward name="success" path="/insertDone.jsp"/>
    </action>
    

    "name" in the action refers to "name" in the form-bean. Because you have validate="true" your ActionForm class MyForm must define validate() method which will automatically be called:

    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
      ActionErrors errors = new ActionErrors();
      if ((username==null) || (username.length() < 1)) 
          errors.add("username", new ActionError("error.username.required"));
      return errors;
    }
    

    If it returns an empty ActionErrors object, Struts goes on to call your MyAction.execute(). Otherwise, Struts displays /insert.jsp (because that's the input= parm you gave) and expands the html.errors tag to display your errors from ActionErrors.