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...@locus.apache.org on 2000/11/03 19:48:28 UTC

cvs commit: jakarta-struts/src/doc struts-form.xml project.xml release.xml struts-logic.xml

craigmcc    00/11/03 10:48:28

  Modified:    src/doc  project.xml release.xml struts-logic.xml
  Added:       src/doc  struts-form.xml
  Log:
  Update the documentation application to reflect the new form library.
  
  Revision  Changes    Path
  1.8       +1 -0      jakarta-struts/src/doc/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/project.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- project.xml	2000/10/16 23:21:11	1.7
  +++ project.xml	2000/11/03 18:48:25	1.8
  @@ -15,6 +15,7 @@
   
       <menu name="New Tag Library Reference">
           <item name="Bean/Property Tags" href="struts-bean.html"/>
  +        <item name="Form Tags"          href="struts-form.html"/>
           <item name="Logic Tags"         href="struts-logic.html"/>
           <item name="Template Tags"      href="struts-template.html"/>
       </menu>
  
  
  
  1.7       +29 -6     jakarta-struts/src/doc/release.xml
  
  Index: release.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/release.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- release.xml	2000/11/03 01:54:32	1.6
  +++ release.xml	2000/11/03 18:48:25	1.7
  @@ -74,24 +74,47 @@
     <em>struts-bean</em> custom tag library (package
     <code>org.apache.struts.taglib.bean</code>):</p>
     <ul>
  -  <li>A new custom tag, <code>&lt;struts-bean:page&gt;</code>, is available
  +  <li>A new custom tag, <code>&lt;bean:page&gt;</code>, is available
         to expose key items from the page context associated with the current
         page as scripting variables, and as page-scope beans.  For example,
         you can use the following sequence to render the server information
         string returned by our servlet context:
         <pre>
  -      &lt;struts-bean:page id="app" property="application"/&gt;
  -      &lt;struts-bean:write name="app" property="serverInfo"/&gt;
  +      &lt;bean:page id="app" property="application"/&gt;
  +      &lt;bean:write name="app" property="serverInfo"/&gt;
         </pre></li>
  -  <li>A new custom tag, <code>&lt;struts-bean:struts&gt;</code>, is available
  +  <li>A new custom tag, <code>&lt;bean:struts&gt;</code>, is available
         to expose internal Struts configuration objects (form bean, forward,
         and mapping definitions) as scripting variables and page-scope beans.
         For example, you can use the following sequence to render the actual
         context-relative path of an <code>ActionForward</code> object:
         <pre>
  -      &lt;struts-bean:struts id="link" forward="success"/&gt;
  -      &lt;struts-bean:write name="link" property="path"/&gt;
  +      &lt;bean:struts id="link" forward="success"/&gt;
  +      &lt;bean:write name="link" property="path"/&gt;
         </pre></li>
  +  </ul>
  +
  +  <p>The following major new features have been added to the
  +  <em>struts-bean</em> custom tag library (package
  +  <code>org.apache.struts.taglib.bean</code>):</p>
  +  <ul>
  +  <li>All of the tags in this library that accept a <code>name</code>
  +      attribute referring to a JSP bean now also accept an optional
  +      <code>scope</code> attribute to define the scope in which to search
  +      for that bean.  If not specified, all scopes are searched.</li>
  +  </ul>
  +
  +  <p>The <em>struts-form</em> custom tag library has been created (package
  +  <code>org.apache.struts.taglib.form</code>), based on the old tags that
  +  were related to HTML form presentation.  The following differences from
  +  the old tags are notable:</p>
  +  <ul>
  +  <li>You must now reference the "struts-form.tld" TLD to access these
  +      tags.</li>
  +  <li>All attribute names matching JavaScript event handlers are now all
  +      lower case (onClick --&gt; onclick) to conform to XHTML.</li>
  +  <li>The <code>options1</code> tag has been eliminated since Struts is now
  +      based on Java2.</li>
     </ul>
   
     <p>The following major new features have been added to the
  
  
  
  1.2       +154 -44   jakarta-struts/src/doc/struts-logic.xml
  
  Index: struts-logic.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/doc/struts-logic.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- struts-logic.xml	2000/09/07 01:37:26	1.1
  +++ struts-logic.xml	2000/11/03 18:48:26	1.2
  @@ -129,6 +129,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -242,6 +252,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -325,6 +345,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -436,6 +466,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>type</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -522,6 +562,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -605,6 +655,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -700,6 +760,16 @@
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
  @@ -714,18 +784,18 @@
   
     <tag>
   
  -    <name>notMatch</name>
  +    <name>notEqual</name>
       <summary>
  -    Evaluate the nested body content of this tag if the specified value
  -    is not an appropriate substring of the requested variable.
  +    Evaluate the nested body content of this tag if the requested
  +    variable is not equal to the specified value.
       </summary>
  -    <tagclass>org.apache.struts.taglib.logic.NotMatchTag</tagclass>
  +    <tagclass>org.apache.struts.taglib.logic.NotEqualTag</tagclass>
       <bodycontent>JSP</bodycontent>
       <info>
  -    <p>Matches the variable specified by one of the selector attributes
  -    (as a String) against the specified constant value.  If the value is
  -    not a substring (appropriately limited by the <code>location</code>
  -    attribute), the nested body content of this tag is evaluated.</p>
  +    <p>Compares the variable specified by one of the selector attributes
  +    against the specified constant value.  The nested body content of this
  +    tag is evaluated if the variable and value are <strong>not equal</strong>.
  +    </p>
       </info>
   
       <attribute>
  @@ -733,7 +803,7 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be matched is the value of the cookie whose
  +      <p>The variable to be compared is the value of the cookie whose
         name is specified by this attribute.</p>
         </info>
       </attribute>
  @@ -743,30 +813,18 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be matched is the value of the header whose
  +      <p>The variable to be compared is the value of the header whose
         name is specified by this attribute.  The name match is performed
         in a case insensitive manner.</p>
         </info>
       </attribute>
   
       <attribute>
  -      <name>location</name>
  -      <required>false</required>
  -      <rtexprvalue>true</rtexprvalue>
  -      <info>
  -      <p>If not specified, a match between the variable and the value may
  -      occur at any position within the variable string.  If specified, the
  -      match must occur at the specified location (either <code>start</code>
  -      or <code>end</code>) of the variable string.</p>
  -      </info>
  -    </attribute>
  -
  -    <attribute>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be matched is the JSP bean specified by this
  +      <p>The variable to be compared is the JSP bean specified by this
         attribute, if <code>property</code> is not specified, or the value
         of the specified property of this bean, if <code>property</code>
         is specified.</p>
  @@ -778,7 +836,7 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be matched is the first, or only, value of the
  +      <p>The variable to be compared is the first, or only, value of the
         request parameter specified by this attribute.</p>
         </info>
       </attribute>
  @@ -788,39 +846,49 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be matched is the property (of the bean specified
  +      <p>The variable to be compared is the property (of the bean specified
         by the <code>name</code> attribute) specified by this attribute.
         The property reference can be simple, nested, and/or indexed.</p>
         </info>
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The constant value which is checked for existence as a substring
  -      of the specified variable.</p>
  +      <p>The constant value to which the variable, specified by other
  +      attribute(s) of this tag, will be compared.</p>
         </info>
       </attribute>
   
     </tag>
  -
  +    
   
     <tag>
   
  -    <name>notEqual</name>
  +    <name>notMatch</name>
       <summary>
  -    Evaluate the nested body content of this tag if the requested
  -    variable is not equal to the specified value.
  +    Evaluate the nested body content of this tag if the specified value
  +    is not an appropriate substring of the requested variable.
       </summary>
  -    <tagclass>org.apache.struts.taglib.logic.NotEqualTag</tagclass>
  +    <tagclass>org.apache.struts.taglib.logic.NotMatchTag</tagclass>
       <bodycontent>JSP</bodycontent>
       <info>
  -    <p>Compares the variable specified by one of the selector attributes
  -    against the specified constant value.  The nested body content of this
  -    tag is evaluated if the variable and value are <strong>not equal</strong>.
  -    </p>
  +    <p>Matches the variable specified by one of the selector attributes
  +    (as a String) against the specified constant value.  If the value is
  +    not a substring (appropriately limited by the <code>location</code>
  +    attribute), the nested body content of this tag is evaluated.</p>
       </info>
   
       <attribute>
  @@ -828,7 +896,7 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be compared is the value of the cookie whose
  +      <p>The variable to be matched is the value of the cookie whose
         name is specified by this attribute.</p>
         </info>
       </attribute>
  @@ -838,18 +906,30 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be compared is the value of the header whose
  +      <p>The variable to be matched is the value of the header whose
         name is specified by this attribute.  The name match is performed
         in a case insensitive manner.</p>
         </info>
       </attribute>
   
       <attribute>
  +      <name>location</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>If not specified, a match between the variable and the value may
  +      occur at any position within the variable string.  If specified, the
  +      match must occur at the specified location (either <code>start</code>
  +      or <code>end</code>) of the variable string.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be compared is the JSP bean specified by this
  +      <p>The variable to be matched is the JSP bean specified by this
         attribute, if <code>property</code> is not specified, or the value
         of the specified property of this bean, if <code>property</code>
         is specified.</p>
  @@ -861,7 +941,7 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be compared is the first, or only, value of the
  +      <p>The variable to be matched is the first, or only, value of the
         request parameter specified by this attribute.</p>
         </info>
       </attribute>
  @@ -871,25 +951,35 @@
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The variable to be compared is the property (of the bean specified
  +      <p>The variable to be matched is the property (of the bean specified
         by the <code>name</code> attribute) specified by this attribute.
         The property reference can be simple, nested, and/or indexed.</p>
         </info>
       </attribute>
   
       <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <info>
  -      <p>The constant value to which the variable, specified by other
  -      attribute(s) of this tag, will be compared.</p>
  +      <p>The constant value which is checked for existence as a substring
  +      of the specified variable.</p>
         </info>
       </attribute>
   
     </tag>
  -    
   
  +
     <tag>
   
       <name>notPresent</name>
  @@ -961,6 +1051,16 @@
         </info>
       </attribute>
   
  +    <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
  +      </info>
  +    </attribute>
  +
     </tag>
   
   
  @@ -1032,6 +1132,16 @@
         by a property getter method on the JSP bean (in any scope) that is
         specified by the <code>name</code> attribute.  Property references
         can be simple, nested, and/or indexed.</p>
  +      </info>
  +    </attribute>
  +
  +    <attribute>
  +      <name>scope</name>
  +      <required>false</required>
  +      <rtexprvalue>true</rtexprvalue>
  +      <info>
  +      <p>The bean scope within which to search for the bean named by the
  +      <code>name</code> property, or "any scope" if not specified.</p>
         </info>
       </attribute>
   
  
  
  
  1.1                  jakarta-struts/src/doc/struts-form.xml
  
  Index: struts-form.xml
  ===================================================================
  <?xml version="1.0"?>
  <document url="./struts-form.xml">
  
  <properties>
    <author>Mike Schachter</author>
    <title>The Struts Framework Project - Form Tags</title>
  </properties>
  
  <body>
  
  
  <taglib>
  
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>Struts Form Tags</shortname>
    <display-name>Form Construction Tags</display-name>
    <info>
    <p>
  		This taglib contains tags used to create struts 
  		input forms.
    </p>
    </info>
  
  	<tag>
  		
  		<name>button</name>
  		<summary>
  			Render A Button Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.ButtonTag</tagclass>
  		<info>
  			<p>
  				Renders an HTML &lt;input&gt; element of type button, populated
  				from the specified value or the content of this tag body. This
  				tag is only valid when nested inside a form tag body.
  			</p>
  		</info>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Click"]
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>cancel</name>
  		<summary>
  			Render a Cancel Button
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.CancelTag</tagclass>
  		<info>
  			<p>
  				Renders an HTML &lt;input&gt; element of type submit. This tag is only
  				valid when nested inside a form tag body. Pressing of this submit
  				button causes the action servlet to bypass calling the associated
  				form bean validate() method. The action is called normally.
  			</p>
  		</info>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Cancel"]
  			</info>
  		</attribute>
  	</tag>
  
  
  	<tag>
  		
  		<name>checkbox</name>
  		<summary>
  			Render A Checkbox Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.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>
  		</info>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted when
  				rendering the current value of this input field. If not specified,
  				the bean associated with the form tag we are nested within is utilized. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Cancel"]
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>file</name>
  		<summary>
  			Render A File Select Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.CheckboxTag</tagclass>
  		<info>
  			<p>
  				Renders an HTML &lt;input&gt; element of type file, defaulting to
  				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>
  		</info>
  	
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>accept</name>
  			<required>false</required>
  			<rtexprvalue>true</rtexprvalue>
  			<info>
  				Comma-delimited set of content types that the server you submit to
  				knows how to process. This list can be used by the client browser
  				to limit the set of file options that is made available for selection.
  				If not specified, no content type list will be sent.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>maxlength</name>
  			<required>false</required>
  			<rtexprvalue>true</rtexprvalue>
  			<info>
  				Maximum number of input characters to accept. [No limit]
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted when
  				rendering the current value of this input field. If not specified,
  				the bean associated with the form tag we are nested within is utilized. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Cancel"]
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>form</name>
  		<summary>
  			Define An Input Form
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.FormTag</tagclass>
  		<bodycontent>JSP</bodycontent>
  		<info>
  			<p>
  				Renders an HTML &lt;form&gt; element whose contents are described
  				by the body content of this tag. The form implicitly interacts
  				with the specified request scope or session scope bean to populate
  				the input fields with the current property values from the bean.
  			</p>
  		</info>
  		
  		<attribute>
  			<name>action</name>
  			<required>false</required>
  			<rtexprvalue>true</rtexprvalue>
  			<info>
  				The URL to which this form will be submitted. Typically, this will
  				match a mapping for the ActionServlet managing this application.
  				URL rewriting will automatically be performed on this URL, to
  				maintain session state in the absence of cookies. [Form will be
  				submitted to this page itself] 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>enctype</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The content encoding to be used to submit this form, if the method
  				is POST. This must be set to "multipart/form-data" if you are using
  				the file tag to enable file upload. If not specified, the browser
  				default (normally "application/x-www-form-urlencoded") is used.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>focus</name>
  			<required>false</required>
  			<rtexprvalue>true</rtexprvalue>
  			<info>
  				The field name (among the fields on this form) to which initial
  				focus will be assigned with a JavaScript function. If not specified,
  				no special JavaScript for this purpose will be rendered. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>method</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The HTTP method that will be used to submit this request
  				(GET, POST). [POST] 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request scope or session scope bean (as defined by
  				the scope attribute) whose properties will be used to populate
  				input field values. If no such bean is found, a new bean will
  				be created (and added to the appropriate scope), using the Java
  				class name specified by the type attribute. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onreset</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed if the form is reset.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onsubmit</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed if the form is submitted.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>scope</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JSP scope within which the associated bean will be accessed
  				or created (request, session). [session]
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  	
  		<attribute>
  			<name>target</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Window target to which this form is submitted, such as
  				for use in framed presentations.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>type</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Fully qualified Java class name of the bean to be created
  				if no bean is found for the specified name and scope. To
  				be used successfully with the Struts ActionServlet, this class
  				must implement the org.apache.struts.action.ActionForm interface.
  				[Runtime error if bean creation is attempted]
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>hidden</name>
  		<summary>
  			Render A Checkbox Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.HiddenTag</tagclass>
  		<info>
  			<p>
  				Renders an HTML &lt;input&gt; element of type hidden, 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>
  		</info>
  		
  		<attribute>
  			<name>name</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted
  				when rendering the current value of this input field. If not
  				specified, the bean associated with the form tag we are nested
  				within is utilized.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>property</name> 
  			<required>true</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of this input field, and the name of the corresponding bean
  				property if value is not specified. The corresponding bean property
  				(if any) must be of type String. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value to which this field should be initialized. [Use the
  				corresponding bean property value]  
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>multibox</name>
  		<summary>
  			Render A Checkbox Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.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>
  		</info>
  
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted when
  				rendering the current value of this input field. If not specified,
  				the bean associated with the form tag we are nested within is utilized. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Cancel"]
  			</info>
  		</attribute>
  	</tag>
  	
  
  	<tag>
  		
  		<name>option</name>
  		<summary>
  			Render A Select Option
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.OptionTag</tagclass>
  		<info>
  			<p>
  				Renders an HTML &lt;option&gt; element, representing one of the choices
  				for a &lt;select&gt; element. The text displayed to the user comes from
  				the body of this tag. If the value of the corresponding bean
  				property matches the specified value, this option will be marked
  				selected. This tag is only valid when nested inside a select tag
  				body.
  			</p>
  		</info>
  		
  		<attribute>
  			<name>value</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value to be submitted for this field if this option is selected by
  				the user. 
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>options</name>
  		<summary>
  			Render a Collection of Select Options
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.OptionsTag</tagclass>
  		<bodycontent>empty</bodycontent>
  		<info>
  			<p>
  				Renders a set of HTML <code>&lt;option&gt;</code> elements, representing
  				possible choices for a <code>&lt;select&gt;</code> element.  This tag can be
  				used multiple times within a particular <code>&lt;struts:select&gt;</code>
  				element, either in conjunction with or instead of one or more
  				<code>&lt;struts:option&gt;</code> tags.</p>
  				
  				<p>The collection of values actually selected depends on the presence or
  				absence of the <code>name</code> and <code>property</code> attributes.  The
  				following combinations are allowed:</p>
  				<ul>
  				<li><i>Only <code>name</code> is specified</i> - The value of this attribute
  				    is the name of a JSP bean in some scope that is the
  				    collection.</li>
  				<li><i>Only <code>property</code> is specified</i> - The value of this
  				    attribute is the name of a property of the ActionForm bean associated
  				    with our form, which will return the collection.</li>
  				<li><i>Both <code>name</code> and <code>property</code> are specified</i> -
  				    The value of the <code>name</code> attribute identifies a JSP bean
  				    in some scope.  The value of the <code>property</code> attribute is the
  				    name of some property of that bean which will return the collection.</li>
  				</ul>
  				
  				<p>The collection of labels displayed to the user can be the same as the
  				option values themselves, or can be different, depending on the presence or
  				absence of the <code>labelName</code> and <code>labelProperty</code>
  				attributes.  If this feature is used, the collection of labels must contain
  				the same number of elements as the corresponding collection of values.
  				The following combinations are allowed:</p>
  				<ul>
  				<li><i>Neither <code>labelName</code> nor <code>labelProperty</code> is
  				    specified</i> - The labels will be the same as the option values
  				    themselves.</li>
  				<li><i>Only <code>labelName</code> is specified</i> - The value of this
  				    attribute is the name of a JSP bean in some scope that is the
  				    collection.</li>
  				<li><i>Only <code>labelProperty</code> is specified</i> - The value of this
  				    attribute is the name of a property of the ActionForm bean associated
  				    with our form, which will return the collection.</li>
  				<li><i>Both <code>labelName</code> and <code>labelProperty</code> are
  				    specified</i> - The value of the <code>labelName</code> attribute
  				    identifies a JSP bean in some scope.  The value of the
  				    <code>labelProperty</code> attribute is the name of some property of
  				    that bean which will return the collection.</li>
  				</ul>
  				
  		</info>
  
  		<attribute>
  			<name>labelName</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the JSP bean (in some scope) containing the collection of labels to
  				be displayed to the user for these options. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>labelProperty</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Property of the form bean, or the bean specified by the labelName
  				attribute, that will return the collection of labels to be displayed
  				to the user for these options. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the JSP bean (in some scope) containing the collection of
  				values to be returned to the server for these options. If not
  				specified, the form bean associated with our form is assumed.  
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>property</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Property of the form bean, or the bean specified by the name
  				attribute, that will return the collection of values to returned
  				to the server for these options.   
  			</info>
  		</attribute>
  	</tag>
  
  	<tag>
  		
  		<name>password</name>
  		<summary>
  			Render A Password Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.PasswordTag</tagclass>
  		<info>
  			Renders an HTML &lt;input&gt; element of type password, 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.
  		</info>
  
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>maxlength</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Maximum number of input characters to accept. [No limit] 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted when
  				rendering the current value of this input field. If not specified,
  				the bean associated with the form tag we are nested within is utilized. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  	
  		<attribute>
  			<name>size</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Number of character positions to allocate. [Browser default] 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value of the label to be placed on this button. This value will
  				also be submitted as the value of the specified request parameter.
  				[Body of this tag (if any), or "Cancel"]
  			</info>
  		</attribute>
  	</tag>
  		
  
  	<tag>
  		
  		<name>radio</name>
  		<summary>
  			Render A Radio Button Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.RadioTag</tagclass>
  		<info>
  			Renders an HTML &lt;input&gt; element of type radio, populated from
  			the specified property of the bean associated with our current form.
  			This tag is only valid when nested inside a form tag body.
  		</info>
  
  
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted when
  				rendering the current value of this input field. If not specified,
  				the bean associated with the form tag we are nested within is utilized. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>reset</name>
  		<summary>
  			Render A Reset Button Input Field
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.ResetTag</tagclass>
  		<info>
  			Renders an HTML &lt;input&gt; element of type reset.
  		</info>
  		
  	
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  	</tag>
  	
  	
  	<tag>
  		
  		<name>select</name>
  		<summary>
  			Render A Select Element
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.ResetTag</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.
  		</info>
  		
  				
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Whether or not multiple selections be allowed.  Any non-null
  				value will trigger rendering this.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The fully-qualified java class name of the bean containing the
  				underlying property.
  			</info>
  		</attribute>
  		
  				<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>size</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The number of available options displayed at one time.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The value to compare with for marking an option selected.
  			</info>
  		</attribute>
  	</tag>
  		
  		
  	<tag>
  		
  		<name>submit</name>
  		<summary>
  			Render A Submit Button
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.SubmitTag</tagclass>
  		<info>
  			Render an input button of type submit.
  		</info>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Whether or not multiple selections be allowed.  Any non-null
  				value will trigger rendering this.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>name</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The fully-qualified java class name of the bean containing the
  				underlying property.
  			</info>
  		</attribute>
  		
  				<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>	
  		
  		<attribute>
  			<name>property</name>
  			<required>true</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of the request parameter that will be included with this
  				submission, set to the specified value. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The value of the button label.
  			</info>
  		</attribute>
  	</tag>
  	
  	<tag>
  		
  		<name>text</name>
  		<summary>
  			Render An Input Field of Type text
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.TextTag</tagclass>
  		<info>
  			Render an input button of type text.
  		</info>
  		
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  
  		<attribute>
  			<name>name</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted
  				when rendering the current value of this input field. If not
  				specified, the bean associated with the form tag we are nested
  				within is utilized.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>property</name> 
  			<required>true</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of this input field, and the name of the corresponding bean
  				property if value is not specified. The corresponding bean property
  				(if any) must be of type String. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value to which this field should be initialized. [Use the
  				corresponding bean property value]  
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>maxlength</name>
  			<required>false</required>
  			<rtexprvalue>true</rtexprvalue>
  			<info>
  				Maximum number of input characters to accept. [No limit]
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>size</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Number of character positions to allocate. [Browser default] 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  	</tag>
  	
  	
  	<tag>
  		
  		<name>textarea</name>
  		<summary>
  			Render A Textarea
  		</summary>
  		<tagclass>org.apache.struts.taglib.form.TextareaTag</tagclass>
  		<info>
  			Render a textarea element.
  		</info>
  
  		<attribute>
  			<name>accesskey</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The keyboard character used to move focus immediately to this
  				element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>cols</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The number of columns to display.
  			</info>
  		</attribute>
  
  		<attribute>
  			<name>name</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The attribute name of the bean whose properties are consulted
  				when rendering the current value of this input field. If not
  				specified, the bean associated with the form tag we are nested
  				within is utilized.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>property</name> 
  			<required>true</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Name of this input field, and the name of the corresponding bean
  				property if value is not specified. The corresponding bean property
  				(if any) must be of type String. 
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>value</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				Value to which this field should be initialized. [Use the
  				corresponding bean property value]  
  			</info>
  		</attribute>
  
  		<attribute>
  			<name>onblur</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onchange</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element loses input
  				focus and its value has changed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse click.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>ondblclick</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives a
  				mouse double click.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onfocus</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element receives input
  				focus.
  			</info>
  		</attribute>
  		
  		
  		<attribute>
  			<name>onkeydown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeypress</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is depressed and released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onkeyup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element has focus and a
  				key is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousedown</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the mouse
  				pointer and a mouse button is depressed.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmousemove</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and the pointer is moved.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseout</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was under the
  				mouse pointer but the pointer was moved outside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseover</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element was not under
  				the mouse pointer but the pointer is moved inside the element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>onmouseup</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				JavaScript event handler executed when this element is under the
  				mouse pointer and a mouse button is released.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>rows</name> 
  			<required>false</required> 
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The number of rows to display.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>style</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS styles to be applied to this HTML element.
  			</info>
  		</attribute>
  				
  		<attribute>
  			<name>styleClass</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				CSS stylesheet class to be applied to this HTML element.
  			</info>
  		</attribute>
  		
  		<attribute>
  			<name>tabindex</name>
  			<required>false</required>
  			<rtexprvalue>false</rtexprvalue>
  			<info>
  				The tab order (ascending positive integers) for this element.
  			</info>
  		</attribute>
  	</tag>
  </taglib>
  </body>
  </document>