martinc     01/09/16 21:52:58

  Modified:    src/share/org/apache/struts/taglib/html FormTag.java
  Log:
  Call reset() when a form been is instantiated by the <html:form> tag.
  PR: 2108
  Submitted by: Corneil du Plessis (bug report), Erik Hatcher (patch)
  
  Revision  Changes    Path
  1.14      +14 -8     
jakarta-struts/src/share/org/apache/struts/taglib/html/FormTag.java
  
  Index: FormTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/FormTag.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- FormTag.java      2001/05/04 22:21:05     1.13
  +++ FormTag.java      2001/09/17 04:52:58     1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/FormTag.java,v 1.13 
2001/05/04 22:21:05 craigmcc Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/05/04 22:21:05 $
  + * $Header: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/FormTag.java,v 1.14 
2001/09/17 04:52:58 martinc Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/09/17 04:52:58 $
    *
    * ====================================================================
    *
  @@ -88,7 +88,7 @@
    * properties correspond to the various fields of the form.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.13 $ $Date: 2001/05/04 22:21:05 $
  + * @version $Revision: 1.14 $ $Date: 2001/09/17 04:52:58 $
    */
   
   public class FormTag extends TagSupport {
  @@ -562,8 +562,16 @@
            try {
                Class clazz = Class.forName(type);
                bean = clazz.newInstance();
  -                if (bean instanceof ActionForm)
  -                    ((ActionForm) bean).setServlet(servlet);
  +                if (bean instanceof ActionForm) {
  +                    ActionForm form = (ActionForm)bean;
  +                    ActionMappings mappings = (ActionMappings)
  +                        pageContext.getAttribute(Action.MAPPINGS_KEY,
  +                                                 PageContext.APPLICATION_SCOPE);
  +
  +                    form.setServlet(servlet);
  +                    form.reset(mappings.findMapping(getActionMappingName()),
  +                               pageContext.getRequest());
  +                }
            } catch (Exception e) {
                throw new JspException
                    (messages.getMessage("formTag.create", type,
  @@ -806,6 +814,4 @@
           type = formBean.getType();
   
       }
  -
  -
   }
  
  
  

Reply via email to