You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@apache.org on 2001/02/23 19:23:57 UTC

cvs commit: jakarta-struts/src/test/org/apache/struts/test TestBean.java

craigmcc    01/02/23 10:23:56

  Modified:    src/doc  struts-html.xml
               src/test/org/apache/struts/test TestBean.java
  Log:
  Document the cases in which an ActionForm.reset() method is required to
  reset individual property values:
  * <html:checkbox>
  * <html:multibox>
  * <html:select multiple="true">
  
  Update the bean used in the test applications to reflect this.
  
  Submitted by: Martin Stiel <ma...@outermedia.de>
  PR: Bugzilla #689
  
  Revision  Changes    Path
  1.16      +55 -18    jakarta-struts/src/doc/struts-html.xml
  
  Index: struts-html.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/struts-html.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- struts-html.xml	2001/02/20 05:20:05	1.15
  +++ struts-html.xml	2001/02/23 18:23:55	1.16
  @@ -465,12 +465,18 @@
   		</summary>
   		<tagclass>org.apache.struts.taglib.html.CheckboxTag</tagclass>
   		<info>
  -			<p>
  -				Renders an HTML &lt;input&gt; element of type checkbox, populated
  -				from the specified value or the specified property of the bean
  -				associated with our current form. This tag is only valid when
  -				nested inside a form tag body.
  -			</p>
  +			<p>Renders an HTML &lt;input&gt; element of type
  +                        <code>checkbox</code>, populated from the specified
  +                        value or the specified property of the bean associated
  +                        with our current form. This tag is only valid when
  +                        nested inside a form tag body.</p>
  +
  +                        <p><strong>WARNING</strong>:  In order to correctly
  +                        recognize unchecked checkboxes, the
  +                        <code>ActionForm</code> bean associated with this form
  +                        must include a statement setting the corresponding
  +                        boolean property to <code>false</code> in the
  +                        <code>reset()</code> method.</p>
   		</info>
   		
   		<attribute>
  @@ -2346,15 +2352,23 @@
   		</summary>
   		<tagclass>org.apache.struts.taglib.html.MultiboxTag</tagclass>
   		<info>
  -			<p>
  -				Renders an HTML &lt;input&gt; element of type checkbox, whose "checked"
  -				status is initialized based on whether the specified value matches
  -				one of the elements of the underlying property's array of current
  -				values. This element is useful when you have large numbers of
  -				checkboxes, and prefer to combine the values into a single
  -				array-valued property instead of multiple boolean properties.
  -				This tag is only valid when nested inside a form tag body.
  -			</p>
  +                        <p>Renders an HTML &lt;input&gt; element of type
  +                        <code>checkbox</code>, whose "checked" status is
  +                        initialized based on whether the specified value
  +                        matches one of the elements of the underlying
  +                        property's array of current values. This element is
  +                        useful when you have large numbers of checkboxes, and
  +                        prefer to combine the values into a single
  +                        array-valued property instead of multiple boolean
  +                        properties.  This tag is only valid when nested
  +                        inside a form tag body.</p>
  +
  +                        <p><strong>WARNING</strong>:  In order to correctly
  +                        recognize cases where none of the associated checkboxes
  +                        are selected, the <code>ActionForm</code> bean
  +                        associated with this form must include a statement
  +                        setting the corresponding array to zero length in the
  +                        <code>reset()</code> method.</p>
   
                   <p>The value to be returned to the server, if this checkbox is
                   selected, must be defined by one of the following methods:</p>
  @@ -3487,9 +3501,32 @@
   		<tagclass>org.apache.struts.taglib.html.SelectTag</tagclass>
   		<bodycontent>JSP</bodycontent>
   		<info>
  -			Custom tag that represents an HTML select element, associated with a
  -			bean property specified by our attributes.  This tag must be nested
  -			inside a form tag.
  +                        <p>Renders an HTML &lt;select&gt; element, associated
  +                        with a bean property specified by our attributes.  This
  +                        tag is only valid when nested inside a form tag body.
  +                        </p>
  +
  +                        <p>This tag operates in two modes, depending upon the
  +                        state of the <code>multiple</code> attribute, which
  +                        affects the data type of the associated property you
  +                        should use:</p>
  +                        <ul>
  +                        <li><em>multiple="true" IS NOT selected</em> -
  +                            The corresponding property should be a scalar
  +                            value of any supported data type.</li>
  +                        <li><em>multiple="true" IS selected</em> -
  +                            The corresponding property should be an array
  +                            of any supported data type.</li>
  +                        </ul>
  +
  +                        <p><strong>WARNING</strong>:  In order to correctly
  +                        recognize cases where no selection at all is made, the
  +                        <code>ActionForm</code> bean associated with this form
  +                        must include a statement resetting the scalar property
  +                        to a default value (if <code>multiple</code> is not
  +                        set), or the array property to zero length (if
  +                        <code>multiple</code> is set) in the
  +                        <code>reset()</code> method.</p>
   		</info>
   		
   				
  
  
  
  1.7       +5 -4      jakarta-struts/src/test/org/apache/struts/test/TestBean.java
  
  Index: TestBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/test/org/apache/struts/test/TestBean.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TestBean.java	2001/02/22 02:53:31	1.6
  +++ TestBean.java	2001/02/23 18:23:56	1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-struts/src/test/org/apache/struts/test/TestBean.java,v 1.6 2001/02/22 02:53:31 craigmcc Exp $
  - * $Revision: 1.6 $
  - * $Date: 2001/02/22 02:53:31 $
  + * $Header: /home/cvs/jakarta-struts/src/test/org/apache/struts/test/TestBean.java,v 1.7 2001/02/23 18:23:56 craigmcc Exp $
  + * $Revision: 1.7 $
  + * $Date: 2001/02/23 18:23:56 $
    *
    * ====================================================================
    *
  @@ -72,7 +72,7 @@
    * General purpose test bean for Struts custom tag tests.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.6 $ $Date: 2001/02/22 02:53:31 $
  + * @version $Revision: 1.7 $ $Date: 2001/02/23 18:23:56 $
    */
   
   public class TestBean extends ActionForm {
  @@ -314,6 +314,7 @@
   
           booleanProperty = false;
           intMultibox = new int[0];
  +        multipleSelect = new String[0];
           stringMultibox = new String[0];
           if (nested != null)
               nested.reset(mapping, request);