Author: steveh
Date: Thu Jul 22 12:05:26 2004
New Revision: 23157

Modified:
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/bundle/DeclareBundle.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/cellrepeater/CellRepeater.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallMethod.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallPageFlow.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/MethodParameter.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/Message.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/MessageArg.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/pageinput/DeclarePageInput.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/script/GetData.java
   
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
   
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
   
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Attribute.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Base.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Content.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Error.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Errors.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Exceptions.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatDate.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatNumber.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatString.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteName.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteURL.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ScriptContainer.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/SelectOption.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextArea.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextBox.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Attribute.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/IncludeSection.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Section.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/SetAttribute.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Template.java
   
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Visible.java
Log:
Adding javadoc content.

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/bundle/DeclareBundle.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/bundle/DeclareBundle.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/bundle/DeclareBundle.java
      Thu Jul 22 12:05:26 2004
@@ -98,6 +98,92 @@
  * </table>
  * </p>
  * 
+ * @jsptagref.tagdescription
+ * <p>This tag declares a [EMAIL PROTECTED] java.util.ResourceBundle 
java.util.ResourceBundle} 
+ * as a source for displaying internationalized messages.  
+ * The declared resource bundle is accessible
+ * using the <code>{bundle...}</code> data binding context.  
+ * The required <code>name</code> attribute specifies
+ * the identifier used to refer to the ResourceBundle in an expression.  For 
example:</p>
+ * 
+ * <pre>    &lt;netui-data:declareBundle name="someMessages" 
bundlePath="com/foobar/resources/WebAppMessages"/></pre>
+ * 
+ * <p>This tag declares a bundle that is referenced in a data binding 
expression as
+ * <code>{bundle.someMessages}</code>.</p>
+ * 
+ * <p>The bundle that is referenced depends on the <a 
href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html"; 
target="_blank">java.util.Locale</a> 
+ *   specified. The resource bundle properties files that are accessed are 
located 
+ *   in the package <code>com/foobar/resources</code> with the root properties 
file 
+ *   name of <code>WebAppMessages</code>. The naming conventions for 
properties can 
+ *   be found in Sun's Java documentation at <a 
href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String,
 java.util.Locale, java.lang.ClassLoader)" 
target="_blank">ResourceBundle.getBundle(String, 
+ *   Locale, ClassLoader)</a> . These files must be located in a classpath 
that is 
+ *   available to the web application. Often, they are stored in 
<code>WEB-INF/classes</code>. 
+ *   If the properties file contains a key called <code>helloWorld</code>, 
then the 
+ *   expression <code>{bundle.someMessages.helloWorld}</code> would look-up 
the message 
+ *   matching the Locale specified on the tag. Bundle binding expressions can 
be 
+ *   used in any data bindable &lt;netui...> tag attribute.</p>
+ * <p>It is possible to have keys that contain multiple words separated by 
spaces, 
+ *   commas, or periods. If this is the case, then you must use slightly 
different 
+ *   syntax to reference those keys in your data binding statement. The 
following 
+ *   list illustrates three ways to access the key <code>My helloWorld</code> 
from the <code>someMessages</code> 
+ *   property file:</p>
+ * <ul>
+ *   <li><code>&lt;netui:label value=&quot;{bundle.someMessages['My 
helloWorld']}&quot;/&gt;</code> 
+ *   </li>
+ *   <li><code>&lt;netui:label value='{bundle.someMessages[&quot;My 
helloWorld&quot;]}'/&gt;</code>
+ *   </li>
+ *   <li><code>&lt;netui:label value=&quot;{bundle.someMessages[\&quot;My 
helloWorld\&quot;]}&quot;/&gt;</code><br>
+ *   </li>
+ * </ul>
+ * <p>WebLogic Workshop automatically generates the last example listed above 
when 
+ *   you set the label control in the property editor to 
<code>bundle.someMessages[&quot;My 
+ *   helloWorld&quot;]</code>. In all three cases, you WebLogic Workshop can 
successfully 
+ *   retrieve the multi-word key.</p>
+ * <p><b>Note:</b> the name <code>default</code> is a bundle identifier that 
is reserved for use by the
+ * &lt;netui-data:declareBundle> tag.  If this value is used for the 
<code>name</code> attribute on a 
+ * &lt;netui-data:declareBundle> tag,
+ * an error will be reported in the page.  The <code>default</code> bundle is 
reserved for use when
+ * accessing internationalized messages from the "current" Struts module's 
default properties file.</p>
+ * 
+ * <p>This tag provides a high level of customizability for rendering 
internationalized messages.
+ * Specifically, the Locale for which to look-up messages can be specified on 
the 
+ * &lt;netui-data:declareBundle>
+ * tag.  By default, the Locale for the current request is used, but this 
Locale can be overridden by
+ * setting the <code>language</code>, <code>country</code>, and 
<code>variant</code> tag attributes 
+ * as necessary.  See java.util.Locale for more information on the possible 
values for these attributes.</p>
+ * <p>The Locale can be overridden by setting these attributes in three 
combinations:</p>
+ * <blockquote>
+ * <ul>
+ * <li>country, language, variant</li>
+ * <li>country, language</li>
+ * <li>country</li>
+ * </ul>
+ * </blockquote>
+ * <p>Any other combinations will throw an exception.</p> 
+ * 
+ * <p>The &lt;netui-data:declareBundle> tag and the Struts 
&lt;i18n:getMessage> tags have
+ * the following differences. The &lt;netui-data:declareBundle> tag lets you
+ * customize the use
+ * of a particular resource bundle with attributes to set the country,
+ * language, and variant explicitly, but it does not write a message out to 
the 
+ * JSP page.
+ * Writing out a message from this bundle is done inside of any of the
+ * other tags using the {bundle...} data binding context. 
+ * 
+ * <pre>    &lt;netui:label value="<b>{bundle.messages.messageKey}</b>"/></pre>
+ * 
+ * <p>The Struts &lt;i18n:getMessage> tag is used to access a bundle 
+ * <i>and</i> write the message out. It is roughly equivalent to doing the 
following:
+ *
+ * <pre>    &lt;netui-data:declareBundle 
bundlePath="com/foobar/resources/messages"
+ *        name="messages"/>
+ *     &lt;netui:label value="{bundle.messages.messageKey"/></pre>
+ *
+ * <p>An advantage of using the {bundle...} data binding context, is that it 
lets you 
+ * write into the &lt;span>...&lt;/span> that the &lt;netui:label> 
+ * creates, or into a &lt;neuti:checkBox> name, etc.
+ * just like using a regular String. 
+ * 
  * @netui:tag name="declareBundle" description="Use this tag to declare a 
resource bundle that is available in the bundle databinding context"
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.DeclareBundleRenderer"
  */
@@ -129,6 +215,14 @@
      * 
      * @param language the two-letter lowercase ISO-639 code for a language.
      *
+     * @jsptagref.attributedescription
+     * The two-letter lowercase ISO-639 language code for the Locale from 
which to look-up resource bundle messages. 
+     * This value is used to further specify the name of the .properties file 
from which message keys will be read.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_language</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setLanguage(String language)
@@ -143,6 +237,16 @@
      *
      * @param country the two-letter uppercase ISO-3166 code for a country
      *
+     * @jsptagref.attributedescription
+     * The two-letter uppercase ISO-3166 country / region code for the 
+     * Locale from which to look-up resource bundle messages. 
+     * This value is used to further specify the name of the 
+     * .properties file from which message keys will be read.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_country</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setCountry(String country)
@@ -156,6 +260,13 @@
      * 
      * @param variant the variant
      *
+     * @jsptagref.attributedescription
+     * A vendor / browser specific code for further parameterizign the Locale 
from which to look-up resource bundle messages.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_variant</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setVariant(String variant)
@@ -170,6 +281,14 @@
      *
      * @param name the name of the bundle
      * 
+     * @jsptagref.attributedescription
+     * The name inside of the {bundle...} databinding context under which the 
properties in this bundle are available. 
+     * The identifier <code>default</code> is an illegal value for this 
attribute and is reserved for use by this tag.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true"
      */
     public void setName(String name)
@@ -191,6 +310,25 @@
      * classpath for the webapp in order to be successfully located.
      *
      * @param bundlePath the path to the bundle's properties files.
+     *
+     * @jsptagref.attributedescription
+     * Set the path to the resource bundle's properties files.  This can be a 
slash
+     * or dot delimited classpath.  Valid values might be:
+     * <blockquote>
+     * <ul>
+     * <li>com/foobar/resources/WebAppProperties</li>
+     * <li>com.foobar.resources.WebAppProperties</li>
+     * </ul>
+     * </blockquote>
+     * <p>These are treated as equivalent values.  The [EMAIL PROTECTED] 
java.util.ResourceBundle} class
+     * will handle appending the <code>.properties</code> file type and locale 
information
+     * as necessary.  See [EMAIL PROTECTED]  
java.util.ResourceBundle#getBundle(String, Locale, ClassLoader)} 
+     * for the <code>.properties</code> file naming conventions.  These files 
must be available in 
+     * classpath for the webapp in order to be successfully located.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_bundlePath</i>
      *
      * @netui:attribute required="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/cellrepeater/CellRepeater.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/cellrepeater/CellRepeater.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/cellrepeater/CellRepeater.java
 Thu Jul 22 12:05:26 2004
@@ -139,15 +139,59 @@
  * </table>
  * </p>
  *
+ * @jsptagref.tagdescription
+ * <p>
+ * The &lt;netui-data:cellRepeater> tag renders 
+ * individual cells of an HTML table.  The tag 
+ * is data bound to a data set specified in the <code>dataSource</code>
+ * attribute.  Other &lt;netui...> tags in the body of 
&lt;netui-data:cellRepeater> 
+ * can use the expression <code>{container.item}</code>
+ * to access the current data item in the data set.</p>
+ * 
+ * <p>
+ * The tag will automatically generate the open and close table, row, and cell
+ * tags.  Style attributes may
+ * be set using attributes on this tag in order to customize the rendered 
table's final 
+ * appearance.  The dimensions of the table are specified with
+ * the attributes <code>columns</code> and <code>rows</code>.  
+ * If only one dimension is specified, the other
+ * will be inferred by using the size of the given data set.  As a result, the 
+ * entire dataset will be rendered.  For example, 
+ * if the <code>columns</code> attribute is set to 4 and the data set has 20 
items, 
+ * the resulting table will have 5 rows.  If the data set has fewer items than 
+ * the number of cells that should be rendered, the cells are padded with HTML 
table
+ * cells:
+ * </p>
+ * 
+ * <pre>     &lt;td&gt;&amp;nbsp;&lt;/td&gt;</pre>
+ * 
+ * <p>
+ * This will prevent rendering a malformed HTML table.  If the number of cells
+ * to render is smaller than the fully specified dimensions of the table, only 
+ * this number of cells will be rendered.  For example, if the data set 50 
items
+ * but the <code>rows</code> and the <code>columns</code> attributes are both 
7, 
+ * only the first 49 items in the dataset will be rendered and the 50th
+ * will not be shown.  The values of the <code>rows</code> and the 
+ * <code>columns</code>
+ * can take a data binding expression; in this case, each value will be
+ * converted into an integer.  
+ * An error will be reported on the page if this conversion
+ * fails.
+ * </p>
+ * 
+ * <p>
+ * <b>Note:</b> the <code>metadata</code> property of the 
<code>{container...}</code> binding context is 
+ * not supported in the &lt;netui-data:cellRepeater> tag.
+ * </p>
+ * 
  * @example 
- * The following sample of the &lt;netui-data:cellRepeater> tag creates a 
table with a
- * certain number of columns, as given in <code>pageFlow.numColumns</code> and 
as many
- * rows as necessary to display all the items in the data set. Each cell in 
the table
- * will contain Item: 'the actual item'. 
+ * In the following sample, the &lt;netui-data:cellRepeater> tag creates a 
table with a
+ * certain number of columns, as given in <code>{pageFlow.numColumns}</code> 
and as many
+ * rows as necessary to display all the items in the data set. 
  * <pre>
- * &lt;netui-data:cellRepeater dataSource="{pageFlow.itemArray}" 
columns="{pageFlow.numColumns}" >
- *     Item: &lt;netui:label value="{container.item}"/>
- * &lt;/netui-data:cellRepeater> 
+ *    &lt;netui-data:cellRepeater dataSource="{pageFlow.itemArray}" 
columns="{pageFlow.numColumns}" >
+ *        Item: &lt;netui:label value="{container.item}"/>
+ *    &lt;/netui-data:cellRepeater> 
  * </pre>
  * 
  * @netui:tag name="cellRepeater" description="A repeating, databound tag that 
renders its body into each cell of a table of the specified dimensions."
@@ -224,6 +268,17 @@
      * </pre>
      * @param tableClass the name of a style class in a CSS 
      *
+     * @jsptagref.attributedescription
+     * The HTML style class that is rendered on the HTML table.
+     * For example, if the row class is "tableClass",
+     * each opening table tag is:
+     * <pre>
+     *     &lt;table class="tableClass"&gt;</pre>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false"     
      */
     public void setTableClass(String tableClass)
@@ -241,6 +296,17 @@
      * 
      * @param rowClass the name of a style class in the CSS 
      *
+     * @jsptagref.attributedescription
+     * The HTML style class that is rendered on each HTML table row.
+     * For example, if the row class is "rowClass",
+     * each opening table row tag is:
+     * <pre>
+     *     &lt;tr class="rowClass"&gt;</pre> 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute language="netuiexpression"
      */
@@ -259,6 +325,18 @@
      * 
      * @param cellClass the name of a style class in a CSS 
      *
+     * @jsptagref.attributedescription
+     * The HTML style class that is rendered on each table cell.
+     * For example, if the cell class is "cellClass", 
+     * each opening table cell tag is:
+     * <pre>
+     *     &lt;td class="cellClass"&gt;</pre>
+     * 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false"
      */
     public void setCellClass(String cellClass)
@@ -278,6 +356,19 @@
      *
      * @param alternatingCellClass the name of a style class in a CSS
      *
+     * @jsptagref.attributedescription
+     * The HTML style class that is rendered on alternating table cells.  
+     * The starting cell is alternated for each row, which 
+     * results in a checkerboard colored table being displayed.  For example, 
if the 
+     * alteranting cell class is "alternatingCellClass", every other table cell
+     * tag is:
+     * <pre>
+     *     &lt;td cell="alternatingCellClass"&gt;</pre>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false"
      */
     public void setAlternatingCellClass(String alternatingCellClass)
@@ -294,6 +385,16 @@
      * @param verticalRepeat if set to <code>true</code>, the dataset is 
rendered down
      * each column; otherwise it is rendered across each row, the default.
      *
+     * @jsptagref.attributedescription
+     * Boolean. If true the data set is rendered vertically, otherwise it is 
rendered horizontally.  If
+     * the rows are rendered horizontally, the items in the data set are 
rendered
+     * across each row from top to bottom.  Otherwise, they are rendered down 
each 
+     * column from left to right.  The default is to render the items 
horizontally.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_verticalRepeat</i>
+     *
      * @netui:attribute required="false"
      */
     public void setVerticalRepeat(boolean verticalRepeat)
@@ -309,6 +410,16 @@
      *
      * @param columns an integer or an expression
      *
+     * @jsptagref.attributedescription
+     * Integer. The number of columns that should be rendered in the HTML 
table.
+     * If the <code>columns</code> attribute is specified but 
+     * the <code>rows</code> attribute is not, the <code>rows</code> attribute 
will be inferred 
+     * using the size of the data set.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_columns</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute language="netuiexpression"
      */
@@ -325,6 +436,16 @@
      *
      * @param rows an integer or an expression whose value can be
      * converted into an integer.
+     *
+     * @jsptagref.attributedescription
+     * Integer. The number of rows that should be rendered in the HTML table.
+     * If the <code>rows</code> attribute is specified but 
+     * the <code>columns</code> attribute is not, the <code>columns</code> 
attribute will be 
+     * inferred using the size of the data set.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_rows</i>
      *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute language="netuiexpression"

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallMethod.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallMethod.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallMethod.java
 Thu Jul 22 12:05:26 2004
@@ -66,6 +66,41 @@
  * </table>
  * </p>
  * 
+ * @jsptagref.tagdescription
+ * This tag is used to call methods on any Java classes within the current 
Workshop Project.
+ * <p>The <code>controlId</code> attribute is used to specify the cclass to be 
called.  
+ * The value returned is stored in the 
+ * <code>{pageContext...}</code> data binding context object under the 
+ * attribute specified by the <code>resultId</code>
+ * attribute.
+ * 
+ * <p>For example, if you call a Java class with the following 
&lt;netui-data:callMethod> tag...
+ * 
+ * <pre>    &lt;netui-data:callMethod 
+ *          object="{pageFlow}" 
+ *          method="hello" 
+ *          <b>resultId="helloMessage"</b> 
+ *          /></pre>
+ * 
+ * <p>...the result of the call is stored in the <code>{pageContext...}</code> 
data binding context under the 
+ * attribute <code>helloMessage</code>.  
+ * 
+ * <p>The result can be retrieved with the data binding expression 
+ * <code>{pageContext.helloMessage}</code>
+ * 
+ * <pre>   &lt;netui:label value="<b>{pageContext.helloMessage}</b>"/></pre>
+ * 
+ * In a scriptlet, the result can be retrieved by calling the 
<code>getAttribute()</code> 
+ * method on the
+ * [EMAIL PROTECTED] javax.servlet.jsp.PageContext 
javax.servlet.jsp.PageContext} object:
+ * 
+ * <pre>    &lt;%= pageContext.getAttribute("helloMessage") %></pre>
+ * 
+ * <p>Note that only synchronous methods can be called with 
&lt;netui-data:callMethod>.  
+ * For handling asynchronous methods
+ * see the help topic <a href="[EMAIL 
PROTECTED]/../guide/netui/guide/conCallingAWebServiceFromAPageFlow.html">
+ * Calling Web Services and Custom Java Controls From A Page Flow</a>
+ * 
  * @see MethodParameter 
  * @see CallPageFlow 
  * @see javax.servlet.jsp.PageContext 
@@ -98,6 +133,13 @@
      * 
      * @param object the object on which to invoke a method
      * 
+     * @jsptagref.attributedescription
+     * A string or data binding expression that names the class on which to 
call a method.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_object</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setObject(Object object)

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallPageFlow.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallPageFlow.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/CallPageFlow.java
       Thu Jul 22 12:05:26 2004
@@ -60,52 +60,53 @@
  * if non-null, is stored.</td></tr>  
  * </table>
  *
+ * @jsptagref.tagdescription
+ * This tag calls a method on the Controller file (= JPF file) in the same 
directory 
+ * as the JSP page.  If no Controller file 
+ * is found, an [EMAIL PROTECTED] ObjectNotFoundException} is 
+ * thrown and the tag execution fails. 
+ * Any return value is stored in the 
+ * <code>{pageContext...}</code> data binding context object under the 
+ * attribute specified by the <code>resultId</code>
+ * attribute.
+ * 
+ * <p>For example, if you call the <code>hello</code> method with the 
following &lt;netui-data:callPageFlow> tag...
+ * 
+ * <pre>    &lt;netui-data:callPageFlow
+ *          method="hello" 
+ *          <b>resultId="helloMessage"</b> 
+ *          /></pre>
+ * 
+ * <p>...the result of the call is stored in the <code>{pageContext...}</code> 
data binding context under the 
+ * attribute <code>helloMessage</code>.  
+ * 
+ * <p>The result can be retrieved with the data binding expression 
+ * <code>{pageContext.helloMessage}</code>
+ * 
+ * <pre>   &lt;netui:label value="<b>{pageContext.helloMessage}</b>"/></pre>
+ * 
+ * In a scriptlet, the result can be retrieved by calling the 
<code>getAttribute()</code> 
+ * method on the
+ * [EMAIL PROTECTED] javax.servlet.jsp.PageContext 
javax.servlet.jsp.PageContext} object:
+ * 
+ * <pre>    &lt;%= pageContext.getAttribute("helloMessage") %></pre>
+ * 
+ * <p>Note that only synchronous methods can be called with 
&lt;netui-data:callPageFlow>.  
+ * For handling asynchronous methods
+ * see the help topic <a href="[EMAIL 
PROTECTED]/../guide/netui/guide/conCallingAWebServiceFromAPageFlow.html">
+ * Calling Web Services and Custom Java Controls From A Page Flow</a>
+ * 
  * @example 
  * In the following sample, the &lt;netui-data:callPageFlow> tag calls the
- * sumCartItems method on the current page flow. In this page flow, the 
sumCartItems
- * method is defined as follows:
- * <pre>
- *    public Double sumCartItems(List items)
- *    {
- *        if(items == null) return new Double(0);
- *   
- *        double sum = 0;
- *        for(int i = 0; i &lt; items.size(); i++)
- *        {
- *            LineItem item = (LineItem)items.get(i);
- *            sum += item.getQuantity() * item.getPrice();
- *        }
- *  
- *        return new Double(sum);
- *    }
- * </pre>
- * <p>You can see the full sample in the WebLogic Workshop sample application.
- * The source files are in:</p>
- * <p>&lt;WEBLOGIC_HOME>/samples/workshop/SamplesApp/WebApp/callPageFlow</p>
- * <p>For these tags, see especially the sum.jsp page. In it, the
- * &lt;netui-data:callPageFlow> tag calls the <code>sumCartItems</code> method
- * on the page flow. The result, stored in the property <code>cartSum</code>, 
is displayed
- * by the &lt;netui:label> tag. This property is accessible by the data binding
- * expression <code>{pageContext.cartSum}</code>.</p>
- <p>Here is a portion of sum.jsp:</p>
- * <pre>
- * &lt;netui-data:callPageFlow method="sumCartItems" resultId="cartSum"&gt;
- *     &lt;netui-data:methodParameter value="{pageFlow.cart.lineItemList}"/&gt;
- * &lt;/netui-data:callPageFlow&gt;
- * 
- * &lt;netui:label value="{pageContext.cartSum}"&gt;
- *     &lt;netui:formatNumber pattern="$#,###,###.00"/&gt;
- * &lt;/netui:label&gt;
- * </pre>
- *
- * Using Data Binding in Page Flows</a>
- * @see CallMethod
- * @see ObjectNotFoundException
- * @see org.apache.beehive.netui.pageflow.PageFlowController
- * @see javax.servlet.jsp.PageContext
- *
- * @deprecated
- *
+ * sumCartItems method on the Controller file.  The 
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Label} tag
+ * accesses the result through the {pageContext...} data binding context.
+ *  <pre>     &lt;netui-data:callPageFlow method="sumCartItems" 
resultId="cartSum">
+ *          &lt;netui-data:methodParameter 
value="{pageFlow.cart.lineItemList}"/>
+ *      &lt;/netui-data:callPageFlow>
+ *      ...
+ *      &lt;netui:label value="{pageContext.cartSum}"/></pre>
+ *      
  * @netui:tag name="callPageFlow" description="Use this tag to call a method 
on the current page flow controller."
  * @netui.tldx:tag requiredchild="methodParameter" 
renderer="workshop.netui.jspdesigner.tldx.compat.CallPageFlowRenderer"
  *                 
netuiexpressioninfo="org.apache.beehive.netui.tags.databinding.invoke.CallPageFlowInfo"

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/MethodParameter.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/MethodParameter.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/invoke/MethodParameter.java
    Thu Jul 22 12:05:26 2004
@@ -82,63 +82,95 @@
  * 
  * </table>
  * </p>
+ * @jsptagref.tagdescription
+ * This tag provides an argument to a method-calling tag. 
+ * The &lt;netui-data:methodParameter> tag can be nested within the following
+ * method-calling tags: 
+ * <blockquote>
+ * <ul>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.invoke.CallControl}</li>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.invoke.CallMethod}</li>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.invoke.CallPageFlow}</li>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.ChoiceMethod}</li>
+ * </ul>
+ * </blockquote>
+ * 
+ * <p>
+ * Each &lt;netui-data:methodParameter>
+ * tag represents a single parameter. A group of 
&lt;netui-data:methodParameter>
+ * tags are evaluated in order and the parameters
+ * they describe are passed in order.</p>
+ * 
+ * <p>
+ * Overloaded methods on an object can be invoked by setting the 
<code>type</code>
+ * attribute on each &lt;netui-data:methodParameter> tag that is embedded in 
+ * a method-calling tag.  The type name must exactly match the primitive
+ * type name or the fully qualified class name of the argument.  The 
+ * &lt;netui-data:methodParameter> tags must also be in the order that they
+ * will be passed to the method.  The value of the <code>type</code> attribute 
must be
+ * an exact match of the type as if it were printed after having been 
+ * accessed through Java reflection.</p>
+ * 
+ * <p>
+ * In order to pass <code>NULL</code> as an argument to a method, the 
+ * <code>null</code> attribute must be set on this tag. Either the 
<code>null</code> 
+ * attribute or the
+ * <code>value</code> attribute must be set on this tag.</p>
+ * 
  * @example 
- * Calling the method <code>foo(int integer, String string)</code>
- * <pre>
- *   &lt;netui-data:methodParamter value="42"/&gt;
- *   &lt;netui-data:methodParamter null="true"/&gt;
- * </pre>
+ * The following sample shows how to pass parameters to the method call
+ * <code>foo(int integer, String string)</code>.
+ * 
+ * <pre>    &lt;netui-data:methodParamter value="42"/&gt;
+ *    &lt;netui-data:methodParamter null="true"/&gt;</pre>
+ *    
  * This will correspond to the method call:<br/>
- * <pre>
- *     foo(42, null);
- * </pre>
- * Calling the method <code>foo(int integer, String string)</code>
+ * 
+ * <pre>    foo(42, null);</pre>
+ * 
+ * The following sample shows how to pass parameters to the method call
+ * <code>foo(int integer, String string)</code>
  * where the class has both of the methods <code>foo(int integer, String 
string)</code>
  * and <code>foo(Integer integer, String string)</code>.
- * <pre>
- *   &lt;netui-data:methodParamter type="int" value="42"/&gt;
- *   &lt;netui-data:methodParamter type="java.lang.String" null="true"/&gt;
- * </pre>
+ * 
+ * <pre>    &lt;netui-data:methodParamter type="int" value="42"/&gt;
+ *    &lt;netui-data:methodParamter type="java.lang.String" 
null="true"/&gt;</pre>
+ *    
  * This will correspond to the method call:</p>
- * <pre>
- *     foo(42, null);
- * </pre>
- * <p>This next example shows a &lt;netui-data:methodParameter&gt; tag being 
used to specify * a "{container.item.quantityavailable}" value as an argument 
to the "isItemOnSale" method
- * in a page flow. The &lt;netui-data:methodParameter&gt; tag, in this 
example, is embedded
- * within a &lt;netui-data:choiceMethod&gt; tag. You can see this example in 
the WebLogic
- * Workshop sample application. The relevant source files are in: </p>
- * <p>&lt;WEBLOGIC_HOME&gt;/samples/workshop/SamplesApp/WebApp/choiceTag</p>
- * <p>For these tags, see especially the items.jsp page and the isItemOnSale 
method in the
- * choiceTagController.jpf page flow.</p>
- * <pre>
- * ...
- * &lt;netui-data:repeaterItem&gt;
- *     &lt;netui-data:choiceMethod object="{pageFlow}" 
method="isItemOnSale"&gt;
- *          &lt;netui-data:methodParameter 
value="{container.item.quantityavailable}"/&gt;
- *     &lt;/netui-data:choiceMethod&gt;
- *     &lt;netui-data:choice value="true"&gt;
- *         &lt;tr class="row" bgcolor="#FF9999"&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.itemnumber}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.itemname}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.quantityavailable}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label value="{container.item.price}"/&gt; 
Clearance Item&lt;/td&gt;
- *         &lt;/tr&gt;
- *     &lt;/netui-data:choice&gt;
- *     &lt;netui-data:choice value="false"&gt;
- *         &lt;tr class="row"&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.itemnumber}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.itemname}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.quantityavailable}"/&gt;&lt;/td&gt;
- *             &lt;td&gt;&lt;netui:label 
value="{container.item.price}"/&gt;&lt;/td&gt;
- *         &lt;/tr&gt;
- *     &lt;/netui-data:choice&gt;
- * &lt;/netui-data:repeaterItem&gt;
- * ...         
- * </pre>
+ * <pre>    foo(42, null);</pre>
  * 
- * @see CallMethod 
- * @see CallPageFlow 
+ * <p>This next example shows a &lt;netui-data:methodParameter&gt; tag being 
used to specify
+ * a dynamic parameter as an argument to the "isItemOnSale" method.
+ * The parameter passed is dependent on the current data item in the data set.
+ * The &lt;netui-data:methodParameter&gt; tag, in this example, is embedded
+ * within a [EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.ChoiceMethod} 
+ * tag. 
+ * </p>
  * 
+ * <pre>    ...
+ *    &lt;netui-data:repeaterItem&gt;
+ *        &lt;netui-data:choiceMethod object="{pageFlow.someDataSet}" 
method="isItemOnSale"&gt;
+ *            &lt;netui-data:methodParameter 
value="{container.item.quantityavailable}"/&gt;
+ *        &lt;/netui-data:choiceMethod&gt;
+ *        &lt;netui-data:choice value="true"&gt;
+ *            &lt;tr class="row" bgcolor="#FF9999"&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.itemnumber}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.itemname}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.quantityavailable}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.price}"/&gt; Clearance Item&lt;/td&gt;
+ *            &lt;/tr&gt;
+ *        &lt;/netui-data:choice&gt;
+ *        &lt;netui-data:choice value="false"&gt;
+ *            &lt;tr class="row"&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.itemnumber}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.itemname}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.quantityavailable}"/&gt;&lt;/td&gt;
+ *                &lt;td&gt;&lt;netui:label 
value="{container.item.price}"/&gt;&lt;/td&gt;
+ *            &lt;/tr&gt;
+ *        &lt;/netui-data:choice&gt;
+ *    &lt;/netui-data:repeaterItem&gt;
+ *    ...</pre>
+ *
  * @netui:tag name="methodParameter" description="Use this tag to add an 
argument to a method that will be called on some object."
  * @netui.tldx:tag requiredparent="choiceMethod callPageFlow callControl 
callMethod" requiredchild="#nothing" 
  *                 
renderer="workshop.netui.jspdesigner.tldx.MethodParameterRenderer"
@@ -198,6 +230,27 @@
      *
      * @param type the type name
      *
+     * @jsptagref.attributedescription
+     * <p>
+     * Set a String matching the type of this parameter on the method to 
invoke.
+     * </p>
+     * <p>
+     * This name should match the primitive type name or fully qualified class
+     * name of the parameters on the signature of the method to which this
+     * parameter will be passed.  
+     * </p>
+     * <p>
+     * For example:
+     * <table border='1'>
+     * <tr><td><b>Method Signature</b></td><td><b>Argument 
Name</b></td><td><b>Type value</b></td></tr>
+     * <tr><td>addToPrice(int 
price)</td><td>price</td><td><code>int</code></td></tr>
+     * <tr><td>addToPrice(Integer 
price)</td><td>price</td><td><code>java.lang.Integer</code></td></tr>
+     * </table>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_type</i>
+     *
      * @netui:attribute required="false"
      */
     public void setType(String type)
@@ -216,6 +269,14 @@
      *
      * @param value a String value which may be an expression
      *
+     * @jsptagref.attributedescription
+     * The value of the method parameter that will be passed 
+     * to the method call.  
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>expression_value</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setValue(Object value)
@@ -230,6 +291,13 @@
      * @param isNull a value that describes whether or not this tag should 
pass null; if
      * <code>true</code> null will be passed; otherwise the value from the 
value attribute
      * will be passed.
+     *
+     * @jsptagref.attributedescription
+     * Boolean. Determines if the parameter passed to the method is null.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_passNullValue</i>
      *
      * @netui:attribute required="false"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/Message.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/Message.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/Message.java
   Thu Jul 22 12:05:26 2004
@@ -36,29 +36,41 @@
  * </table>
  * </p>
  * 
+ * @jsptagref.tagdescription
+ * This tag provides a message schema, which can be parameterized to 
+ * construct customizable messages.
+ * 
+ * <p>Curly-braces are used to identify argument place holders in the schema:
+ * 
+ * <pre>    &lt;%
+ *    pageContext.setAttribute("msgSkeleton", new String("Hello {0}. {1} {2}, 
the current date and time are {3}."));
+ *    %>
+ *    &lt;netui-data:message value="{pageContext.msgSkeleton}" 
resultId="message"></pre>
+ * 
  * @example 
- * The &lt;netui-data:message> tag binds to the string containing the argument
- * references ({0}, {1}, and so forth), while the &lt;netui-data:messageArg> 
tags
- * provide the argument values. In the following example,the 
&lt;netui-data:message> tag
- * uses the value attribute to bind to the string, which was earlier added to 
the
- * <code>pageContext</code> data binding object, replaces the argument 
references with the
- * values provided in the two &lt;netui-data:messageArg> tags, and makes the 
resulting
- * string known as <code>message</code> in the <code>pageContext</code>, via 
its
- * <code>resultID</code> attribute:
- * <pre>
- * &lt;%
- *     pageContext.setAttribute("msgSkeleton", new String("To read about {0}, 
go to {1}."));
- * %&gt;
- * ...
- * &lt;netui-data:message value="{pageContext.msgSkeleton}" 
resultId="message"&gt;
- *     &lt;netui-data:messageArg value="messaging"/&gt;
- *     &lt;netui-data:messageArg value="my web page"/&gt;
- * &lt;/netui-data:message&gt;
- * ...
- * &lt;netui:label value="{pageContext.message}"/&gt;
- * </pre>
+ * The &lt;netui-data:message> tag defines a message schema, while the 
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.databinding.message.MessageArg} 
tags
+ * provide the parameters that plug values into the schema. 
+ * In the following example, the &lt;netui-data:message> tag
+ * uses the <code>value</code> attribute to bind to the message schema (which
+ * was earlier added to the
+ * [EMAIL PROTECTED] javax.servlet.jsp.PageContext 
javax.servlet.jsp.PageContext} object. 
+ * The two &lt;netui-data:messageArg> tags provide the parameters to plug into 
the 
+ * schema.
+ * <pre>    &lt;%
+ *        pageContext.setAttribute("msgSkeleton", new String("To read about 
{0}, go to {1}."));
+ *    %&gt;
+ *    ...
+ *    &lt;netui-data:message value="{pageContext.msgSkeleton}" 
resultId="message"&gt;
+ *        &lt;netui-data:messageArg value="messaging"/&gt;
+ *        &lt;netui-data:messageArg value="my web page"/&gt;
+ *    &lt;/netui-data:message&gt;
+ *    ...
+ *    &lt;netui:label value="{pageContext.message}"/&gt;</pre>
  *
- * @see MessageArg 
+ * <p>The following message is output to the JSP page:
+ * 
+ * <pre>    To read about messaging, go to my web page.</pre>
  * 
  * @netui:tag name="message" 
  *            description="Allows you to format messages according to any 
sequence you want, using one or more values from arguments defined in 
MessageArg tag(s). The results are available to the page context."
@@ -81,6 +93,13 @@
 
     /**
      *
+     * @jsptagref.attributedescription
+     * The id of the resulting string.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_result</i>
+     *
      * @netui:attribute required="true"
      */
     public void setResultId(String resultId)
@@ -89,6 +108,13 @@
     }
 
     /**
+     *
+     * @jsptagref.attributedescription
+     * A {pageContext...} or {request...} databinding expression.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>expression_value</i>
      *
      * @netui:attribute required="true" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/MessageArg.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/MessageArg.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/message/MessageArg.java
        Thu Jul 22 12:05:26 2004
@@ -35,11 +35,14 @@
  * <tr><td colspan="3">A String value for the argument.</td></tr>
  * </table>
  * </p>
- * @example 
- * <p>For an example that uses the &lt;netui-data:message> tag and 
&lt;netui-data:messageArg&gt;
- * tags, see the <a href="message.html">&lt;netui-data:message></a> 
description.
+ * @jsptagref.tagdescription
+ * This tag provides a parameter value to a message schema.
+ * 
+ * <p>The message schema is defined by a [EMAIL PROTECTED] Message} tag.
  * 
- * @see Message  
+ * @example 
+ * <p>For an example that uses the &lt;netui-data:messageArg&gt;
+ * tag, see the [EMAIL PROTECTED] Message} description.
  * 
  * @netui:tag name="messageArg" 
  *            description="Allows you to set values that are used as arguments 
to the Message tag. The formatted message results are available to the page 
context."
@@ -60,6 +63,13 @@
     }
 
     /**
+     *
+     * @jsptagref.attributedescription
+     * A string value for the argument.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_argument</i>
      *
      * @netui:attribute required="true" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/pageinput/DeclarePageInput.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/pageinput/DeclarePageInput.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/pageinput/DeclarePageInput.java
        Thu Jul 22 12:05:26 2004
@@ -55,49 +55,102 @@
  * </table>
  * </p>
  * 
+ * @jsptagref.tagdescription
+ * <p>
+ * This tag declares variables that are passed from
+ * the Controller file to the JSP page.  
+ * 
+ * <p>
+ * The variable's lifetime is the same as that of the JSP page on which it
+ * is declared.  
+ * 
+ * <p>
+ * On the Controller file, use the <code>addPageInput</code> method 
+ * (a method on the [EMAIL PROTECTED] com.bea.wlw.netui.pageflow.Forward 
Forward} class)
+ * to make the variable available to the &lt;netui-data:declarePageInput> tag.
+ * 
+ * <pre>    Forward f = new Forward("success");
+ *    f.addPageInput("myData", new MyData());</pre>
+ * 
+ * Then, on the JSP page, declare the variable with the 
&lt;netui-data:declarePageInput> tag.
+ * 
+ * <pre>    &lt;netui-data:declarePageInput name="<b>myData</b>" 
type="myPageFlow.MyPageFlowController.MyData"/></pre>
+ * 
+ * <p>
+ * Once declared, the variable can be referenced using the 
+ * <code><b>{pageInput...}</b></code> data binding context.
+ * The <code>name</code> attribute is used as the identifier for the variable 
inside
+ * of this binding context, and the <code>type</code> attribute is used to 
identify 
+ * the expected type of this variable.
+ * </p>
+ * 
+ * <pre>    &lt;netui:label value="<b>{pageInput.myData}</b>"/></pre>
+ * 
+ * <p>Using the &lt;netui-data:declarePageInput> has the following advantages
+ * 
+ * <blockquote>
+ * <ul>
+ * <li>The presence of &lt;netui-data:declarePageInput> tags in a JSP file
+ * helps to indicate clearly the type of data expected at run time. This 
+ * information about the incoming data helps your team understand any 
+ * data dependencies a given JSP page may have on the Controller file.</li>
+ * <li>At design time each &lt;netui-data:declarePageInput> tag, once added 
+ * to a JSP page, enables an additional WebLogic Workshop IDE feature to 
discover properties 
+ * about your JSP source code. 
+ * <p>For example, the presence of a 
+ * &lt;netui-data:declarePageInput> tag on a JSP page causes 
+ * the Workshop IDE to display the declared variable 
+ * in the Data Palette's "Page Inputs" section.  
+ * Once the variable is displayed in the Data Palette, you can (1) drag and 
drop the variable from
+ * the Data Palette, and (2) set properties on the variable. Note that the 
Data Palette will not display the following data types:
+ *   <p>   
+ *   primitive Java types<br>
+ *   java.*<br>
+ *   javax.*<br>
+ *   com.sun.*<br>
+ *   org.apache.struts.*<br>
+ *   com.bea.*
+ *   </p>      
+ * </li>
+ * </ul>
+ * </blockquote>
+ * 
  * @example 
- * This sample shows how a variable, <code>foo</code>, is defined in the page 
flow, and its value is
- * passed into one of the page flow's JSP pages by using the 
&lt;netui-data:declarePageInput> tag. 
- * <pre>
- * ...
- *  /**
- *   &#x2a; &#x40;jpf:action
- *   &#x2a; &#x40;jpf:forward name="simple" path="simple.jsp"
- *   &#x2a;/ 
- *   public Forward simple()
- *   {
- *       Forward f = new Forward("simple");
- *       f.addPageInput("fooBean", new FooBean());
- *       return f;
- *   }
- *  ...
- *  public static class FooBean
- *  {
- *      private String foo = "A Foo String";
- * 
- *      public String getFoo()
- *      {
- *          return foo;
- *      }
+ * This sample shows how a variable, <code>foo</code>, is defined in the 
Controller file, 
+ * and its value is
+ * passed to a JSP page by using the <code>addPageInput</code> method and the 
+ * &lt;netui-data:declarePageInput> tag. 
+ * <h4>Code in the Controller file...</h4>
+ * 
+ * <pre>    /**
+ *    &#x2a; &#x40;jpf:action
+ *    &#x2a; &#x40;jpf:forward name="simple" path="simple.jsp"
+ *    &#x2a;/ 
+ *    public Forward simple()
+ *    {
+ *        Forward f = new Forward("simple");
+ *        f.addPageInput("fooBean", new FooBean());
+ *        return f;
+ *    }
+ *   
+ *    public static class FooBean
+ *    {
+ *        private String foo = "A Foo String";
+ * 
+ *        public String getFoo()
+ *        {
+ *            return foo;
+ *        }
  *  
- *      public void setFoo(String foo)
- *      {
- *          this.foo = foo;
- *      }
- *  }
- * ...
- * </pre>
- * <p>Then in a JSP page that is part of this page flow:</p>
- * <pre>
- * &lt;netui-data:declarePageInput name="fooBean" 
type="pageInput.PageInputController.FooBean"/>
- * ...
-      fooBean.foo: &lt;netui:label value="{pageInput.fooBean.foo}" /> 
- * ...
- * </pre>
- * <p>At design time each &lt;netui-data:declarePageInput> tag, once added to 
a JSP page,
- * enables an additional WebLogic Workshop IDE feature in which the properties 
on the source
- * object can be discovered. For more information, see the sample's source 
files:
- * <p>&lt;WEBLOGIC_HOME>/samples/workshop/SamplesApp/WebApp/pageInput</p>
+ *        public void setFoo(String foo)
+ *        {
+ *            this.foo = foo;
+ *        }
+ *    }</pre>
+ * <h4>Code in a JSP page...</h4>
+ * <pre>    &lt;netui-data:declarePageInput name="fooBean" 
type="pageInput.PageInputController.FooBean"/>
+ *    ...
+ *    fooBean.foo: &lt;netui:label value="{pageInput.fooBean.foo}" /></pre>
  * 
  * @netui:tag name="declarePageInput" description="Use this tag to declare a 
page input variable that is available in the pageInput databinding context."
  * @netui.tldx:tag requiredchild="#nothing" 
@@ -121,6 +174,13 @@
      *
      * @param name the name of the variable
      *
+     * @jsptagref.attributedescription
+     * The name of the variable to reference.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true"
      */
     public void setName(String name)
@@ -165,6 +225,13 @@
      * [EMAIL PROTECTED] #setName} attribute on this tag.
      *
      * @param type the type of the variable that is referenced
+     *
+     * @jsptagref.attributedescription
+     * The expected data type of the variable.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_type</i>
      *
      * @netui:attribute required="true"
      * @netui.tldx:attribute extype="java-classname"

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
 Thu Jul 22 12:05:26 2004
@@ -97,16 +97,92 @@
  * </table>
  * </p>
  * 
- * @example 
- * <p>You can find samples that use the &lt;netui-data:repeater> tag and
- * related tags in the following WebLogic Workshop samples:</p>
- * <p>&lt;WEBLOGIC_HOME>\samples\workshop\SamplesApp\WebApp\repeaterTag</p>
- * <p>&lt;WEBLOGIC_HOME>\samples\workshop\SamplesApp\WebApp\choiceTag</p>
- *
- * @see RepeaterHeader 
- * @see RepeaterItem 
- * @see RepeaterFooter 
- * @see org.apache.beehive.netui.script.common.IDataAccessProvider
+ * @jsptagref.tagdescription
+ * <p>The &lt;netui-data:repeater> tag iterates over a data set to render it 
as HTML.
+ * The HTML is specified either directly within the the body of
+ * &lt;netui-data:repeater> tag or within an associated set of "helper" tags. 
+ * The "helper" tags are listed below.
+ * 
+ * <blockquote>
+ * <table border="1" cellspacing="0" cellpadding="5" width="90%">
+ * <tr><td><b>Tag</b></td><td><b>Description</b></td></tr>
+ * <tr><td>[EMAIL PROTECTED] RepeaterHeader}</td><td>Renders once at the start 
of the iteration.</td></tr>
+ * <tr><td>[EMAIL PROTECTED] RepeaterItem}</td><td>Renders once for each 
iteration.</td></tr>
+ * <tr><td>[EMAIL PROTECTED] RepeaterFooter}</td><td>Renders once at the end 
of the iteration.</td></tr>
+ * <tr><td>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.pad.Pad}</td><td>Used to convert 
+ *          irregular data sets into regular data sets through padding 
+ *          or truncating the output.</td></tr>
+ * <tr><td>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.Choice}</td><td>Used to 
+ *          conditionally render data in the data set based on the result 
+ *          of calling a decision 
+ *          method. 
+ *          This is allowed only within the &lt;netui-data:repeaterItem> 
tag.</td></tr>
+ * <tr><td>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.ChoiceMethod}</td><td>Used 
+ *          to define the decision method used when conditionally rendering 
data.
+ *          This is allowed only within the &lt;netui-data:repeaterItem> 
tag.</td></tr>
+ * </table>
+ * </blockquote>
+ * 
+ * <p>The &lt;netui-data:repeater> tag can render in two modes; the first mode 
is a simple mode where the body of
+ * the &lt;netui-data:repeater> tag is rendered once for each item in the data 
set.  In this case, none of the 
+ * other tags above are present in the repeater body.  For example, the 
following will
+ * render the items in the "customers" data set as an unordered HTML list.</p>
+ * 
+ * <pre>     &lt;ul&gt;
+ *         &lt;netui-data:repeater dataSource="{pageFlow.customers}"&gt;
+ *             &lt;li&gt;&lt;netui:label value="{container.item.lastName}, 
{container.item.firstName}"/&gt;&lt;/li&gt;
+ *         &lt;/netui-data:repeater&gt;
+ *     &lt;/ul&gt;</pre>
+ * 
+ * <p>The second mode is a more structured mode
+ * of rendering where the "helper" tags
+ * are used to define the rendering of the data set.  In this case, if one of 
the helper tags 
+ * is present,
+ * any HTML markup directly in the body of the &lt;netui-data:repeater> tag is 
not rendered; rather, the HTML markup
+ * inside the helper tags is rendered.</p>
+ * <p>For example, the following will render the same output as the example 
+ * shown above, but it uses the "helper" tags for rendering the
+ * HTML markup:</p>
+ * 
+ * <pre>
+ *     &lt;netui-data:repeater dataSource="{pageFlow.customers}"&gt;
+ *         &lt;netui-data:repeaterHeader&gt;
+ *             &lt;ul&gt;
+ *         &lt;/netui-data:repeaterHeader&gt;
+ *         &lt;netui-data:repeaterItem&gt;
+ *             &lt;li&gt;&lt;netui:label value="{container.item.lastName}, 
{container.item.firstName}"/&gt;&lt;/li&gt;
+ *         &lt;/netui-data:repeaterItem&gt;
+ *         &lt;netui-data:repeaterFooter&gt;
+ *             &lt;/ul&gt;
+ *         &lt;/netui-data:repeaterFooter&gt;
+ *     &lt;/netui-data:repeater&gt;</pre>
+ * 
+ * @example
+ * The following sample renders the data set as an HTML table.  The table has 
two columns, "index" and "name",
+ * and each iteration over the data set is rendered as a row of the table.
+ * 
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myDataSet}">
+ *        &lt;netui-data:repeaterHeader>
+ *            &lt;table border="1">
+ *                &lt;tr>
+ *                    &lt;td>&lt;b>index&lt;/b>&lt;/td>
+ *                    &lt;td>&lt;b>name&lt;/b>&lt;/td>    
+ *                &lt;/tr>
+ *        &lt;/netui-data:repeaterHeader>
+ *        &lt;netui-data:repeaterItem>
+ *            &lt;tr>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.index}" />
+ *                &lt;/td>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.item}" />
+ *                &lt;/td>
+ *            &lt;/tr>
+ *        &lt;/netui-data:repeaterItem>
+ *        &lt;netui-data:repeaterFooter>
+ *            &lt;/table>
+ *        &lt;/netui-data:repeaterFooter>    
+ *    &lt;/netui-data:repeater></pre>
  *
  * @netui:tag name="repeater" description="A markup-generic tag that repeats 
over a data set, and renders the data onto the page."
  * @netui.tldx:tag whitespace="indent" 
@@ -181,6 +257,13 @@
      * 
      * @param ignoreNulls whether or not to ignore nulls
      *
+     * @jsptagref.attributedescription
+     * Boolean. If set to true, any null iteration items in the data set will 
be ignored. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_ignoreNulls</i>
+     *
      * @netui:attribute required="false"
      */
     public void setIgnoreNulls(boolean ignoreNulls)
@@ -207,6 +290,13 @@
      * references a null object and the defaultText attribute is non-null.
      *
      * @param defaultText the default text
+     *
+     * @jsptagref.attributedescription
+     * The text to render if the <code>dataSource</code> attribute references 
a null data set.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_defaultText</i>
      *
      * @netui:attribute required="false" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
   Thu Jul 22 12:05:26 2004
@@ -36,14 +36,46 @@
  * <p>The RepeaterFooter renders exactly once in a table during the [EMAIL 
PROTECTED] Repeater}
  * tag's [EMAIL PROTECTED] Repeater#FOOTER} rendering state.</p>
  *
+ * @jsptagref.tagdescription
+ * This tag is used to render the footer of a [EMAIL PROTECTED] Repeater} tag. 
 This 
+ * header may contain any HTML markup that can be rendered to a page.  In 
+ * the case of closing a table, ordered list, or unordered list, the elements
+ * &lt;/table&gt;, &lt;/ol&gt;, and &lt;/ul&gt; could respectively be rendered 
inside
+ * the body of the &lt;netui-data:repeaterFooter> tag.  
+ * 
+ * <p>There is no data item present at the time that the 
+ * &lt;netui-data:repeaterFooter> renders (because the iteration of 
+ * the &lt;netui-data:repeater> tag has ended), so tags in the body can not 
reference the 
+ * <code>{container...}</code> data binding context to access the current item 
in
+ * the data set, though other databinding contexts are available.
+ * 
  * @example 
- * <p>For samples that include the &lt;netui-data:repeaterFooter> tag,
- * see the <a href="repeater.html">&lt;netui-data:repeater&gt; Tag</a> topic.
- * Also see the Related Topics below.</p>
- *  
- * @see Repeater 
- * @see RepeaterHeader 
- * @see RepeaterItem 
+ * The following sample renders the data set as an HTML table.  The table has 
two columns, "index" and "name",
+ * and each iteration over the data set is rendered a row of the table.  The 
&lt;netui-data:repeaterFooter>
+ * tag renders once, after the iteration is complete.  It renders a closing 
HTML table tag.
+ * 
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myDataSet}">
+ *        &lt;netui-data:repeaterHeader>
+ *            &lt;table border="1">
+ *                &lt;tr>
+ *                    &lt;td>&lt;b>index&lt;/b>&lt;/td>
+ *                    &lt;td>&lt;b>name&lt;/b>&lt;/td>    
+ *                &lt;/tr>
+ *        &lt;/netui-data:repeaterHeader>
+ *        &lt;netui-data:repeaterItem>
+ *            &lt;tr>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.index}" />
+ *                &lt;/td>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.item}" />
+ *                &lt;/td>
+ *            &lt;/tr>
+ *        &lt;/netui-data:repeaterItem>
+ *        <b>&lt;netui-data:repeaterFooter></b>
+ *            &lt;/table>
+ *        <b>&lt;/netui-data:repeaterFooter></b>    
+ *    &lt;/netui-data:repeater></pre>
  * 
  * @netui:tag name="repeaterFooter" description="Use this tag to render the 
footer of a Repeater."
  * @netui.tldx:tag  
renderer="workshop.netui.jspdesigner.tldx.RepeaterFooterRenderer" 
whitespace="indent" requiredparent="repeater"

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
   Thu Jul 22 12:05:26 2004
@@ -35,14 +35,47 @@
  * <p>The RepeaterHeader renders exactly once in a table during the [EMAIL 
PROTECTED] Repeater}
  * tag's [EMAIL PROTECTED] Repeater#HEADER} rendering state.</p>
  *
+ * @jsptagref.tagdescription
+ * This tag is used to render the header of a [EMAIL PROTECTED] Repeater} tag. 
 
+ * This header may contain
+ * any any HTML markup that can be rendered to a page.  In the case of 
starting a 
+ * table, ordered list, or unordered list, the HTML elements &lt;table&gt;, 
&lt;ol&gt;,
+ * and &lt;ul&gt; could respectively be rendered inside the body of this tag.
+ * 
+ * <p>There is no data item present at the time that the 
&lt;netui-data:repeaterHeader> renders
+ * (because the iteration of 
+ * the &lt;netui-data:repeater> tag has not yet begun), so tags in the 
+ * body can not reference the <code>{container...}</code> data binding context 
to access
+ * the current item in the data set, though other databinding contexts are 
available.
+ *  
  * @example 
- * <p>For samples that include the &lt;netui-data:repeaterHeader> tag,
- * see the <a href="repeater.html">&lt;netui-data:repeater&gt; Tag</a> topic.
- * Also see the Related Topics below.</p>
+ * The following sample renders the data set as an HTML table.  The table has 
two columns, "index" and "name",
+ * and each iteration over the data set is rendered a row of the table.  The 
&lt;netui-data:repeaterHeader>
+ * tag renders once, before the iteration has begun.  It renders an opening 
HTML table tag and
+ * two header rows for the table.
  * 
- * @see Repeater 
- * @see RepeaterItem 
- * @see RepeaterFooter 
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myDataSet}">
+ *        <b>&lt;netui-data:repeaterHeader></b>
+ *            &lt;table border="1">
+ *                &lt;tr>
+ *                    &lt;td>&lt;b>index&lt;/b>&lt;/td>
+ *                    &lt;td>&lt;b>name&lt;/b>&lt;/td>    
+ *                &lt;/tr>
+ *        <b>&lt;/netui-data:repeaterHeader></b>
+ *        &lt;netui-data:repeaterItem>
+ *            &lt;tr>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.index}" />
+ *                &lt;/td>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.item}" />
+ *                &lt;/td>
+ *            &lt;/tr>
+ *        &lt;/netui-data:repeaterItem>
+ *        &lt;netui-data:repeaterFooter>
+ *            &lt;/table>
+ *        &lt;/netui-data:repeaterFooter>    
+ *    &lt;/netui-data:repeater></pre>
  * 
  * @netui:tag name="repeaterHeader" description="Use this tag to render the 
header of a Repeater."
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.RepeaterHeaderRenderer" 
whitespace="indent" requiredparent="repeater"

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
     Thu Jul 22 12:05:26 2004
@@ -37,15 +37,50 @@
  * <p>By default, the RepeaterItem simply renders its body once for each of 
the items in the 
  * Repeater tag's data set.</p>
  *
- * @example 
- * <p>For samples that include the &lt;netui-data:repeaterItem> tag,
- * see the <a href="repeater.html">&lt;netui-data:repeater&gt; Tag</a> topic.
- * Also see the Related Topics below.</p>
+ * @jsptagref.tagdescription
+ * This tag is used to render an individual item in the data set as it is 
iterated over by
+ * the [EMAIL PROTECTED] Repeater} tag.    
+ * As an individual item is being iterated over, it is available using the
+ * <code>{container.item}</code> databinding expression.
+ * <p>The &lt;netui-data:repeaterItem> tag can only be uesd when directly 
contained by 
+ * a &lt;netui-data:repeater> tag.</p>
+ * <p>By default, the &lt;netui-data:repeaterItem> simply renders its body 
once for each of the items in the 
+ * &lt;netui-data:repeater> tag's data set.</p>  
+ * <p>A &lt;netui-data:repeaterItem> has the ability to render different HTML 
+ * markup for each of the items that 
+ * it renders. This is possible using the 
+ * [EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.ChoiceMethod} 
+ * and [EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.repeater.choice.Choice} tags.
+ * The &lt;netui-data:choiceMethod> tag decides which &lt;netui-data:choice> 
+ * tag to render.</p>
  * 
- * @see Repeater
- * @see RepeaterHeader
- * @see RepeaterFooter
- *  
+ * @example
+ * The following sample renders the data set as an HTML table.  The 
&lt;netui-data:repeaterItem> tag
+ * renders a new row in the table for each item in the data set.
+ * 
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myDataSet}">
+ *        &lt;netui-data:repeaterHeader>
+ *            &lt;table border="1">
+ *                &lt;tr>
+ *                    &lt;td>&lt;b>index&lt;/b>&lt;/td>
+ *                    &lt;td>&lt;b>name&lt;/b>&lt;/td>    
+ *                &lt;/tr>
+ *        &lt;/netui-data:repeaterHeader>
+ *        <b>&lt;netui-data:repeaterItem></b>
+ *            &lt;tr>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.index}" />
+ *                &lt;/td>
+ *                &lt;td>
+ *                    &lt;netui:label value="{container.item}" />
+ *                &lt;/td>
+ *            &lt;/tr>
+ *        <b>&lt;/netui-data:repeaterItem></b>
+ *        &lt;netui-data:repeaterFooter>
+ *            &lt;/table>
+ *        &lt;/netui-data:repeaterFooter>    
+ *    &lt;/netui-data:repeater></pre>
+ *
  * @netui:tag name="repeaterItem" description="Use this tag to render each 
item in the data set."
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.RepeaterItemRenderer" 
whitespace="indent" requiredparent="repeater"
  */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
  Thu Jul 22 12:05:26 2004
@@ -58,13 +58,37 @@
  * </table>
  * </p>
  * 
+ * @jsptagref.tagdescription
+ * <p>
+ * This tag determines the number of items that are rendered by a
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.databinding.repeater.Repeater} tag.
+ * The &lt;netui-data:pad> tag has the ability to turn an irregular data set 
in the
+ * &lt;netui-data:repeater> tag
+ * into a regular data set through the use of the three attributes:
+ * <blockquote>
+ * <ul>
+ * <li><code>maxRepeat</code> - truncates the rendering of the data set</li>
+ * <li><code>minRepeat</code> - forces the &lt;netui-data:repeater> to render 
+ * a minimum number of elements</li>
+ * <li><code>padText - default text to render if the data set does not have the
+ * minimum number of elements</code></li>
+ * </ul>
+ * </blockquote>  
+ * 
+ * <p>If the <code>padText</code> attribute
+ * is unset, the body of the &lt;netui-data:pad> tag is used as the default 
text.
+ * 
  * @example 
- * For example, if in an array of [EMAIL PROTECTED] java.util.List} objects, 
each [EMAIL PROTECTED] java.util.List}
- * object has a different size, the items that are rendered from each list can 
be padded 
- * or truncated so exactly five items are rendered in each row.  
- *
- * @see org.apache.beehive.netui.tags.databinding.repeater.Repeater
- *  
+ * In the following example, assume that the &lt;netui-data:repeater> tag 
iterates over
+ * a [EMAIL PROTECTED] java.util.List java.util.List} object.  The 
&lt;netui-data:pad> limits the iteration 
+ * to three cycles, no matter how many elements are actually in the List. 
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myList}">
+ *         &lt;netui-data:pad maxRepeat="3"/>
+ *             &lt;netui-data:repeaterItem>
+ *                 &lt;netui:label value="{container.item}" />
+ *             &lt;/netui-data:repeaterItem>
+ *     &lt;/netui-data:repeater></pre>
+ * 
  * @netui:tag name="pad" description="Affects the number of items that are 
rendered in a Repeater."
  * @netui.tldx:tag requiredparent="repeater" output="|$children|" 
whitespace="indent"
  */
@@ -96,6 +120,13 @@
      * 
      * @param padText the text that is used to pad a repeater's content
      *
+     * @jsptagref.attributedescription
+     * The text will be used when padding a &lt;netui-data:repeater> that 
renders too few times
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_padText</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setPadText(String padText)
@@ -112,6 +143,16 @@
      * @param maxRepeat an integer or an expression that references an integer
      * for the maximum number of items to render
      *
+     * @jsptagref.attributedescription
+     * Set the maximum number of items that will be rendered by a 
&lt;netui-data:repeater> tag.
+     * If the size of the data set is greater than this, only this many
+     * items will be rendered.  This value can be an integer
+     * or can be an expression that resolves to an integer.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_or_expression_maxRepeat</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setMaxRepeat(int maxRepeat)
@@ -126,6 +167,16 @@
      *
      * @param minRepeatString an integer or an expression that references
      * an integer for the minimum number of items to render
+     *
+     * @jsptagref.attributedescription
+     * Set the minimum number of items that will be rendered by a 
&lt;netui-data:repeater> tag.
+     * If the size of the data set is smaller than this, the data set will
+     * be padded with the value of the <code>padText</code> attribute. This 
value can be an integer
+     * or can be an expression that resolves to an integer.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_or_expression_minRepeat</i>
      *
      * @netui:attribute required="false" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/script/GetData.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/script/GetData.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/script/GetData.java
    Thu Jul 22 12:05:26 2004
@@ -50,41 +50,55 @@
  * </table>
  * </p>
  *
+ * @jsptagref.tagdescription
+ * This tag evaluates an expression and places the result in the 
+ * [EMAIL PROTECTED] javax.servlet.jsp.PageContext 
javax.servlet.jsp.PageContext} object, 
+ * where the data is available to JSP scriptlets.  This tag can be used to 
extract data from
+ * forms, Controller files, and any data binding context and make it available 
to scriptlets.
+ * 
+ * <p>The following &lt;netui-data:getData> tag extracts data from the 
Controller file and 
+ * places it
+ * in the <code>myData</code> field of the PageContext object:
+ * 
+ * <pre>    &lt;netui-data:getData resultId="myData" 
value="{pageFlow.myData}"/></pre>
+ *
+ * <p>The following scriptlet extracts the data from the 
<code>PageContext</code> 
+ * object and writes it to the rendered HTML:
+ * 
+ * <pre>    &lt;%= pageContext.getAttribute("myData") %></pre>
+ * 
  * @example 
- * In this first sample, the &lt;netui-data:getData> tag is used to add an 
attribute to the
- * <code>pageContext</code> object. The name of the attribute is defined in 
the tag's
- * <code>resultID</code> attribute and its value is defined in its value 
attribute.
- * You can subsequently access the attribute through the pageContext's 
<code>getAttribute</code> method.  
- * <pre>
- * &lt;netui:form action="lastNameAction" focus="lastname"&gt;
- *     ...
- *     &lt;netui-data:getData resultId="first" 
value="{actionForm.firstname}"/&gt;
- *     ...
- *     &lt;% 
- *         String firstName = (String) pageContext.getAttribute("first");
- *         System.out.println("First Name = " + firstName);
+ * In this first sample, the &lt;netui-data:getData> tag loads data into the
+ * <code>PageContext</code> object. You can subsequently access the data 
+ * through the PageContext's <code>getAttribute(String)</code> method.  
+ * <pre>    &lt;netui:form action="lastNameAction" focus="lastname"&gt;
+ *         ...
+ *         &lt;netui-data:getData resultId="first" 
value="{actionForm.firstname}"/&gt;
  *         ...
- *     %&gt;
- *     ...
- * &lt;/netui:form&gt; 
- * </pre>
- * <p>This next sample shows how to use &lt;netui-data:getData&gt; and 
<code>pageContext</code>
- * with containers:</p>
- * <pre>
- * &lt;netui-data:repeater dataSource="{pageFlow.strArr}"&gt;
- *     ...
- *     &lt;netui-data:repeaterItem&gt;
- *         &lt;netui:label value="{container.item}" /&gt;
- *         &lt;netui-data:getData resultId="item" value="{container.item}"/&gt;
  *         &lt;% 
- *             String currentItem = (String) pageContext.getAttribute("item");
- *             System.out.println(currentItem);
+ *             String firstName = (String) pageContext.getAttribute("first");
+ *             System.out.println("First Name = " + firstName);
  *             ...
  *         %&gt;
- *     &lt;/netui-data:repeaterItem&gt;
- *     ...
- * &lt;/netui-data:repeater&gt;
- * </pre>
+ *         ...
+ *     &lt;/netui:form&gt;</pre>
+ *     
+ * <p>This next sample shows how to use &lt;netui-data:getData&gt; and the 
<code>PageContext</code>
+ * inside of other containers, in this case a &lt;netui-data:repeater> tag. 
The &lt;netui-data:getData> below
+ * extracts each element as the &lt;netui-data:repeater> iterates over the 
data set and writes it to the Java console:</p>
+ * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.strArr}"&gt;
+ *         ...
+ *         &lt;netui-data:repeaterItem&gt;
+ *             &lt;netui:label value="{container.item}" /&gt;
+ *             &lt;netui-data:getData resultId="item" 
value="{container.item}"/&gt;
+ *             &lt;% 
+ *                 String currentItem = (String) 
pageContext.getAttribute("item");
+ *                 System.out.println(currentItem);
+ *                 ...
+ *             %&gt;
+ *          &lt;/netui-data:repeaterItem&gt;
+ *          ...
+ *      &lt;/netui-data:repeater&gt;</pre>
  * 
  * @netui:tag name="getData" description="Evaluates an expression and places 
the result in the JSP's PageContext. Can be used to extract objects from forms, 
page flows, and other objects that can be databound.  You can then write a 
scriplet to access the data by using the getAttribute method of 
javax.servlet.jsp.PageContext."
  * @netui.tldx:tag requiredchild="#nothing" 
@@ -116,6 +130,14 @@
      *
      * @param value the expression to evaluate
      *
+     * @jsptagref.attributedescription
+     * The data binding expression to evaluate. The result will be stored in
+     * the PageContext object as specified in the <code>resultId</code> 
attribute.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>expression_value</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setValue(Object value)
@@ -128,6 +150,13 @@
      * will be stored in the PageContext.
      *
      * @param resultId the String key
+     *
+     * @jsptagref.attributedescription
+     * Specifies the property of the PageContext object where the data will be 
stored.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_resultId</i>
      *
      * @netui:attribute required="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/AnchorColumn.java
    Thu Jul 22 12:05:26 2004
@@ -34,6 +34,48 @@
 
 /**
  *
+ * @jsptagref.tagdescription
+ * <p>
+ * This tag renders a column with an HTML hyperlink in each data cell.
+ * The anchor that is created is constructed from attributes on this tag
+ * and any nested [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Parameter} or 
[EMAIL PROTECTED]
+ * com.bea.wlw.netui.tags.html.ParameterMap}
+ * tags.
+ * 
+ * <p>The hyperlink can be constructed in one of two ways: (1) using text 
provided
+ * in the <code>title</code> attribute or (2) using data from the current item 
in the data set. 
+ * If using the <code>title</code> attribute, the column is not filterable or 
sortable
+ * as there is no data from the data set to filter or sort.  If using 
+ * data from the current item, the column can be filtered and sorted.
+ * </p>
+ * 
+ * <p>The &lt;netui:anchorColumn> has the ability to render a clickable image 
inside the hyperlink.
+ * An image will be rendered if the <code>src</code>
+ * attribute is set and the <code>name</code> attribute is null.  Otherwise,
+ * the data in the current data item that matches the <code>name</code>
+ * attribute will be rendered.  If rendering an image using the 
<code>src</code>
+ * attribute, the column can be sorted and filtered on the name of the image.
+ * </p>
+ * 
+ * <p>In constructing an anchor from the attributes on the tag, exactly 
+ * one of the <code>href</code> and <code>action</code> attributes must be 
specified.  
+ * Providing both or neither will result in an error being reported.
+ * </p>
+ * 
+ * <p><b>Required resources:</b><br/>
+ * <table>
+ * <tr><td>
+ * The JavaScript file <code>_grid.js</code> must be included in any JSP page 
with a grid that uses a 
+ * filter-enabled &lt;netui:anchorColumn>.
+ * The New Page Flow Wizard (available at File-->New-->Page Flow) adds the 
<code>_grid.js</code> file to a project's
+ * /resources/grid directory, when you build a Page Flow over a database 
control.
+ * The JSP page should contain:</p>
+ * <pre>    &lt;script language="javascript" src="/resources/grid/_grid.js"
+ *        type="text/javascript"&gt;&lt;/script&gt;</pre>  
+ * </td></tr>
+ * </table>
+ * </p>
+ * 
  * @netui:tag name="anchorColumn" description="Renders a column of anchors in 
a NetUI data grid"
  * @netui.tldx:tag whitespace="indent" 
  *                 netuiexpressioninfo=""
@@ -48,6 +90,13 @@
     private AnchorColumnModel _column;
 
     /**
+     * @jsptagref.attributedescription
+     * The URL that is invoked when the column header is clicked.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_href</i>
+     *
      * @netui:attribute required="false"
      */
     public void setHref(String href) 
{((AnchorColumnModel)getColumnModel()).setHref(href);}

Modified: 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/Columns.java
 Thu Jul 22 12:05:26 2004
@@ -35,6 +35,25 @@
  * <br/>
  *
  * </p>
+ * @jsptagref.tagdescription
+ * <p>This tag is a container for the columns that render the header, data, 
and footer
+ * for each column in a [EMAIL PROTECTED] Grid} tag.  Tags contained 
immediately 
+ * within the &lt;netui-data:columns> tag
+ * should be of the following types:
+ * <blockquote>
+ * <ul>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.grid.column.AnchorColumn}</li>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.grid.column.BasicColumn}</li>
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.grid.column.ExpressionColumn}</li>  
+ * <li>[EMAIL PROTECTED] 
com.bea.wlw.netui.tags.databinding.grid.column.ImageColumn}</li>
+ * </ul>
+ * </blockquote>
+ * <p>Additionally, the &lt;netui-data:columns> tag has the capability to set 
global properties for all 
+ * of the contained column tags.  Specifically, the ability to sort/filter and 
the
+ * actions associated with performing these operations can be set here.  All 
sortable
+ * and filterable column tags that are contained within a 
&lt;netui-data:columns> tag may 
+ * use the global properties or may override them if a column needs to be 
handled specially.</p>
+ * 
  * @netui:tag name="columns" description="Container tag for columsn that will 
render in the grid"
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.ColumnsRenderer" 
  *                 whitespace="indent" 
@@ -68,11 +87,25 @@
     public String getTagName() {return "Columns";}
     
     /**
+     * @jsptagref.attributedescription
+     * The action method that will handle the filter operation.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_filterAction</i>
+     *
      * @netui:attribute required="false"
      */
     public void setFilterAction(String filterAction) {_filterAction = 
filterAction;}
 
     /**
+     * @jsptagref.attributedescription
+     * The action method that will handle the sort operation.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_sortAction</i>
+     *
      * @netui:attribute required="false"
      */
     public void setSortAction(String sortAction) {_sortAction = sortAction;}

Modified: 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-datagrid/org/apache/beehive/netui/tags/datagrid/ImageColumn.java
     Thu Jul 22 12:05:26 2004
@@ -30,6 +30,15 @@
 
 /**
  *
+ * @jsptagref.tagdescription
+ * <p>
+ * This tag renders an image into each data cell in a column.
+ * The image that is rendered is specified with the <code>src</code> attribute
+ * and can be further parameterized with attributes to constrain its width, 
height,
+ * alternate text, and border.  If the height and width attributes are not 
specified,
+ * the image is rendered at its actual size.
+ * </p>
+ * 
  * @netui:tag name="imageColumn" description="Renders a column of images in a 
NetUI data grid"
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.ImageColumnRenderer" 
whitespace="indent" netuiexpressioninfo=""
  * @netui:attribute name="value" required="false"
@@ -42,6 +51,13 @@
     private ImageColumnModel _column;
 
     /**
+     * @jsptagref.attributedescription
+     * The source of the image to display.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>literal_or_expression_src</i>
+     *
      * @netui:attribute required="true"
      * @netui.tldx:attribute language="netuiexpression"
      */
@@ -58,6 +74,13 @@
     public void setHspace(String hspace) 
{((ImageColumnModel)getColumnModel()).setHspace(hspace);}
 
     /**
+     * @jsptagref.attributedescription
+     * Integer. The width of the border around the image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_border</i>
+     *
      * @netui:attribute required="false"
      */
     public void setVspace(String vspace) 
{((ImageColumnModel)getColumnModel()).setVspace(vspace);}
@@ -68,11 +91,25 @@
     public void setBorder(String border) 
{((ImageColumnModel)getColumnModel()).setBorder(border);}
 
     /**
+     * @jsptagref.attributedescription
+     * Integer. The height of the image to be displayed in pixels.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_height</i>
+     *
      * @netui:attribute required="false"
      */
     public void setHeight(String height) 
{((ImageColumnModel)getColumnModel()).setHeight(height);}
 
     /**
+     * @jsptagref.attributedescription
+     * Integer. The width of the image to be displayed in pixels.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_width</i>
+     *
      * @netui:attribute required="false"
      */
     public void setWidth(String width) 
{((ImageColumnModel)getColumnModel()).setWidth(width);}

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Anchor.java
  Thu Jul 22 12:05:26 2004
@@ -85,54 +85,79 @@
  *
  * </table>
  * </p>
- * @example In this sample, clicking on this anchor would submit the form and 
invoke the action
- * <code>ViewResults</code>.
- * <pre>&lt;netui:anchor action="ViewResults" formSubmit="true"&gt;View 
Results&lt;/netui:anchor&gt;</pre>
+ * @jsptagref.tagdescription
  * <p>
- * <b>JavaScript</b>
+ * The &lt;netui:anchor> tag generates a link to another document or invokes 
an action method in the Controller file.
+ * The &lt;netui:anchor> tag also supports JavaScript-based form submission 
and URL re-writing.
+ * <p>
+ * An anchor must have one of five attributes to correctly create the 
hyperlink:
+ * <blockquote>
+ * <ul>
+ * <li><code>action</code> - the action method invoked by clicking the 
hyperlink</li>
+ * <li><code>forward</code> - the forward to redirect to</li>
+ * <li><code>href</code> - the URL to go to</li>
+ * <li><code>linkName</code> - an internal place in the page to move to</li>
+ * <li><code>page</code> - the module-relative page URL to which this 
hyperlink will be rendered</li>
+ * </ul>
+ * </blockquote>
  * </p>
- * <p>If an Anchor sets the <code>formSubmit</code> attribute to 
<code>true</code> and no
- * <code>onClick</code> attribute is set, the following JavaScript will be 
written into the page,
- * referenced by the <code>onclick</code> attribute of the generated anchor, 
and will cause the
- * form to submit:</p>
+ * 
+ * @example 
+ * <b>Submitting Form Data</b>
+ * <p>In this sample, clicking on this anchor submits the form data and 
invokes the method
+ * <code>submitForm</code>.
+ * <pre>
+ *      &lt;netui:form action="formSubmit">
+ *          Firstname:
+ *          &lt;netui:textBox dataSource="{actionForm.firstname}"/>
+ *          Lastname:
+ *          &lt;netui:textBox dataSource="{actionForm.lastname}"/>
+ *          &lt;netui:anchor formSubmit="true">Submit&lt;/netui:anchor>
+ *      &lt;/netui:form></pre>
+ * <p>If the <code>formSubmit</code> attribute is set to <code>true</code> and 
no
+ * <code>onClick</code> attribute is set, the following JavaScript function 
will be written to the HTML page.
+ * This JavaScript function will be referenced by the <code>onclick</code> 
attribute of the generated anchor tag.</p>
  * <pre>
- * function submit[formname][formAction]Form() {
- *   for(var i=0; i&lt;document.forms.length; i++) {
- *     if (document.forms[i].action == "[formAction]") {
- *       document.forms[i].method="POST";
- *       document.forms[i].action="[formAction]";
- *       document.forms[i].submit();
+ *  function anchor_submit_form(netuiName, newAction)
+ *  {
+ *    for (var i=0; i&lt;document.forms.length; i++) {
+ *       if (document.forms[i].id == netuiName) {
+ *          document.forms[i].method = "POST";
+ *          document.forms[i].action = newAction;
+ *          document.forms[i].submit();
+ *       }
  *     }
- *   }
- * }
- * </pre>
- * It is possible to write a custom <code>onClick</code> JavaScript event 
handler that would
- * do additional work, for example form validation, and still POST the form 
correctly.  To
- * accomplish this, implement a JavaScript method like that set in the 
<code>onClick</code>
- * attribute of the anchor tag as follows:
+ *  }</pre>
+ * <p> The JavaScript function will be invoked by the generated HTML anchor 
tag as follows:
  * <pre>
- * &lt;netui:anchor formSubmit="true" onClick="SubmitFromAnchor(); return 
false;"&gt;View Results&lt;/netui:anchor&gt;
- * </pre>
- * <p>And then add JavaScript to the page. For example:</p>
+ * &lt;a href="/WebApp/tagSamples/anchor/formSubmit.do" 
+ *       
onClick='anchor_submit_form("Netui_Form_0","/WebApp/tagSamples/anchor/formSubmit.do");return
 false;'>Submit&lt;/a></pre>
+ * <p>
+ * <b>Custom JavaScript Functions</b>
+ * </p>
+ * <p>It is possible to write a custom <code>onClick</code> JavaScript event 
handler that would
+ * do additional work, for example form validation, and still POST the form 
correctly.  To
+ * accomplish this, add the custom JavaScript method to the page:
  * <pre>
- * function SubmitFromAnchor()
- * {
+ * function SubmitFromAnchor() 
+ * { 
  *   // implement custom logic here
  *
- *   for(var i=0; i&lt;document.forms.length; i++)
- *   {
+ *   for(var i=0; i&lt;document.forms.length; i++) 
+ *   { 
  *     // submit to the action /aWebapp/formPost.do
- *     if (document.forms[i].action == "/aWebapp/formPost.do")
- *     {
- *       document.forms[i].method="POST";
- *       document.forms[i].action="/aWebapp/formPost.do";
- *       document.forms[i].submit();
- *     }
- *   }
- * }
- * </pre>
- * <p>This will execute JavaScript code to execute before posting the form.</p>
- *
+ *     if (document.forms[i].action == "/aWebapp/formPost.do") 
+ *     { 
+ *       document.forms[i].method="POST"; 
+ *       document.forms[i].action="/aWebapp/formPost.do"; 
+ *       document.forms[i].submit(); 
+ *     } 
+ *   } 
+ * }</pre>
+ * Then reference the JavaScript method from the &lt;netui:anchor> tag:
+ * <pre>
+ * &lt;netui:anchor formSubmit="true" onClick="SubmitFromAnchor(); return 
false;"&gt;Submit&lt;/netui:anchor&gt;</pre>
+ * 
  * @netui:tag name="anchor" description="Generates a URL-encoded hyperlink to 
a specified URI."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.AnchorRenderer" 
whitespace="indent"
  */
@@ -200,6 +225,14 @@
     /**
      * Set the name of the action for the Anchor.
      * @param action - the name of the action to set for the Anchor.
+     * @jsptagref.attributedescription
+     * The action method to invoke.  The action method must be in the 
Controller file 
+     * of the Page Flow directory. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_action</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute reftype="netui-action-url" category="general"
      */
@@ -222,6 +255,16 @@
     /**
      * Sets the formSubmit indicator.
      * @param formSubmit - whether or not the enclosing Form should be 
submitted.
+     * @jsptagref.attributedescription
+     * Boolean.  If <code>formSubmit</code> is set to true, and the 
&lt;netui:anchor> tag 
+     * is within a &lt;netui:form> tag, 
+     * then the form data will be submitted to the method named in the 
+     * &lt;netui:form> tag's <code>action</code> attribute. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_formSubmit</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      * @netui.tldx:attribute
      */
@@ -233,6 +276,13 @@
     /**
      * Sets the onClick javascript event.
      * @param onclick - the onClick event.
+     * @jsptagref.attributedescription
+     * The onClick JavaScript event. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_onClick</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.EventPropertyClass" 
category="event"
      */
@@ -244,6 +294,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * rendered HTML tag in the sequence of tags that the user may advance 
through by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */
@@ -255,6 +313,13 @@
     /**
      * Sets the href of the Anchor.
      * @param href - the hyperlink URI for the Anchor.
+     * @jsptagref.attributedescription
+     * The URL to go to. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_href</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"
      */
@@ -278,6 +343,13 @@
     /**
      * Sets the link name of the Anchor.
      * @param linkName - the link name for the Anchor.
+     * @jsptagref.attributedescription
+     * An internal place on the page to go to.  
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_linkName</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -289,6 +361,13 @@
     /**
      * Sets the anchor to be added to the end of the generated hyperlink.
      * @param location - the name of the location anchor.
+     * @jsptagref.attributedescription
+     * Location within the URI to visit. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_location</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -377,6 +456,13 @@
     /**
      * Sets the window target.
      * @param target - the window target.
+     * @jsptagref.attributedescription
+     * The window target. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_action</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -767,6 +853,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code> 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"  type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -778,6 +874,13 @@
     /**
      * Sets the onBlur javascript event.
      * @param onblur - the onBlur event.
+     * @jsptagref.attributedescription
+     * The onBlur JavaScript event.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_onBlur</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.EventPropertyClass" 
category="event"
      */
@@ -789,6 +892,13 @@
     /**
      * Sets the onFocus javascript event.
      * @param onfocus - the onFocus event.
+     * @jsptagref.attributedescription 
+     * The onFocus JavaScript event.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_onFocus</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.EventPropertyClass" 
category="event"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Attribute.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Attribute.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Attribute.java
       Thu Jul 22 12:05:26 2004
@@ -26,6 +26,26 @@
 import javax.servlet.jsp.tagext.Tag;
 
 /**
+ * @jsptagref.tagdescription
+ * <p>Adds an attribute to the parent tag when it is rendered in the 
browser.</p>
+ * 
+ * <p>The following &lt;netui:attribute> tags are rendered within the 
&lt;span> tag (since 
+ * the &lt;netui:label> tag is rendered as a &lt;span> tag in the browser.
+ * 
+ * <pre>     &lt;netui:label value="Some Text">
+ *          &lt;netui:attribute name="a" value="aVal" />
+ *          &lt;netui:attribute name="b" value="bVal" />
+ *          &lt;netui:attribute name="c" value="cVal" />
+ *      &lt;/netui:label></pre>
+ *      
+ * <p>The HTML rendered in the browser appears as follows.
+ * 
+ * <pre>    &lt;span a="aVal" b="bVal" c="cVal">Some Text&lt;/span></pre>
+ * 
+ * Note that the <code>value</code> attribute can be dynamically determined 
using a databinding expression.
+ * 
+ * <pre>    &lt;netui:attribute name="a" value="{pageFlow.aAttributeValue}" 
/></pre>
+ * 
  * @netui:tag name="attribute" description="Add an attribute to the parent tag 
which be rendered."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.AttributeRenderer"
  * bodycontentpref="empty" whitespace="indent"
@@ -47,6 +67,13 @@
     /**
      * Sets the <code>name</code> attribute.
      * @param name - the value of the <code>name</code> attribute.
+     * @jsptagref.attributedescription
+     * The name of the attribute to add to the parent tag. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -58,6 +85,13 @@
     /**
      * Sets the <code>value</code> attribute.
      * @param value - the value of the <code>name</code> attribute.
+     * @jsptagref.attributedescription
+     * The value of the attribute to add to the parent tag.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
+     *
      * @netui:attribute required="true"  rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Base.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Base.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Base.java
    Thu Jul 22 12:05:26 2004
@@ -43,6 +43,9 @@
  * <tr><td colspan="3">The default target window.</td></tr>
  *
  * </table>
+ * @jsptagref.tagdescription
+ * Provides the base for every URL on the page.
+ * 
  * @example In this sample, the Base tag is simply dropped in and then 
automatically determines
  * the base for each URL on this page.
  * <pre>
@@ -70,6 +73,13 @@
     /**
      * Set the default window target.
      * @param target - the window target.
+     * @jsptagref.attributedescription
+     * The default window target.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_windowTarget</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setTarget(String target)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
  Thu Jul 22 12:05:26 2004
@@ -62,18 +62,27 @@
  * <tr><td colspan="3">The label of this button.</td></tr>
  *
  * </table>
- * @example In this sample, a button that has the value "Home" will submit 
when the user
- * clicks it, raising the "done" action on the form. In the page flow 
controller class,
- * the done action will be invoked.
+ * @jsptagref.tagdescription
+ * Renders an HTML button with the specified attributes.  To
+ * submit data or invoke a method on the Controller file, the 
+ * &lt;netui:button> tag must a parent [EMAIL PROTECTED] Form} tag. 
+ * The action attribute on the &lt;netui:button> is for the purpose 
+ * of overriding the action attribute on the enclosing &lt;netui:form> tag.  
+ * If no action attribute is specified on the &lt;netui:button> tag, 
+ * the action attribute
+ * on the &lt;netui:form> tag will determine which action method is invoked.
+ * 
+ * @example 
+ * In this sample, the &lt;netui:button> submits data to
+ * the Controller file's <code>processData</code> action method (specified on 
the &lt;netui:form>'s action
+ * attribute).
  * <pre>
- * &lt;p>&lt;b>Return to Home Page&lt;/b>&nbsp;&nbsp;
- *     &lt;netui:form action="done">
- *        &lt;netui:button value="Home" type="submit"/>
- *     &lt;/netui:form>
- * &lt;/p>
- * </pre>
- *
- * @see Form
+ *     &lt;netui:form action="processData">
+ *        &lt;!--
+ *        input elements here
+ *        -->
+ *        &lt;netui:button value="Submit" type="submit"/>
+ *     &lt;/netui:form></pre> 
  *
  * @netui:tag name="button" description="Create a button on your JSP page."
  * @netui.tldx:tag requiredchild="parameter parameterMap, attribute" 
renderer="workshop.netui.jspdesigner.tldx.ButtonRenderer" 
bodycontentpref="empty" whitespace="indent"
@@ -129,6 +138,15 @@
     /**
      * Set the name of the action for the Button.
      * @param action - the name of the action to set for the Button.
+     * @jsptagref.attributedescription
+     * The action method invoked.  The value of this attribute will override 
+     * the <code>action</code>
+     * attribute of the parent &lt;netui:form> tag.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_action</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute reftype="netui-action-url"
      */
@@ -140,6 +158,14 @@
     /**
      * Set the type of the Button (submit, button, or reset).
      * @param type - the type of the Button.
+     * @jsptagref.attributedescription
+     * The type of the button.  Possible values are <code>submit</code>, 
<code>button</code>, or <code>reset</code>.  
+     * The default value is <code>submit</code>.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_type</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setType(String type)
@@ -151,6 +177,13 @@
     /**
      * Set the value of the Button's text.
      * @param value - the value of the Button's text.
+     * @jsptagref.attributedescription
+     * The text displayed by the rendered HTML button.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_value</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -287,6 +320,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true" type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -298,6 +341,13 @@
     /**
      * Sets the alt attribute value.
      * @param alt - the alt value.
+     * @jsptagref.attributedescription
+     * The alt attribute of the element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -309,6 +359,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
        Thu Jul 22 12:05:26 2004
@@ -68,15 +68,43 @@
  * real ID attribute for javascript and focus purposes. The real ID attribute 
id is generated
  * based upon this name.</td></tr>
  * </table>
- * @example In this sample, a standalone CheckBox reads from, and writes to, 
the form bean's
- * <code>showBorder</code> property, and uses the page flow's 
<code>defaultShowBorder</code>
- * if this is the first time the CheckBox is being viewed.
- * <pre>
- * &lt;netui:checkBox dataSource="{actionForm.showBorder}" 
defaultValue="{pageFlow.defaultShowBorder}" />
- * </pre>
+ * @jsptagref.tagdescription
+ * <p>Generates a single HTML checkbox.  The &lt;netui:checkBox> tag should be 
used on its own, not within a
+ * [EMAIL PROTECTED] CheckBoxGroup}.
+ *
+ * <p>The &lt;netui:checkBox> tag can be data bound to a boolean or Boolean 
type.  For instance,
+ * the following &lt;netui:checkBox> tag...
+ * 
+ * <pre>    &lt;netui:checkBox dataSource="{actionForm.checkBoxValue}"/></pre>
+ * 
+ * ...must be bound to a boolean or Boolean field in the Form Bean...
+ * 
+ * <pre>    public static class ProcessDataForm extends FormData
+ *    {
+ *        private boolean checkBoxValue;
+ *      
+ *        public void setCheckBoxValue(boolean checkBoxValue)
+ *        {
+ *            this.checkBoxValue = checkBoxValue;
+ *        }
+ *      
+ *        public boolean isCheckBoxValue()
+ *        {
+ *            return this.checkBoxValue;
+ *        }
+ *    }</pre>
+ *
+ * @example
+ * In this sample, the &lt;netui:checkBox reads it initial value from the
+ * Form Bean field <code>wantSpecialOffers</code>.  Upon submission, the user 
specified value is
+ * loaded into the same Form Bean field.  The data is submitted to the
+ * action method <code>processData</code>.
+ * <pre>    &lt;netui:form action="processData">
+ *        Do you want to be notified of special offers?
+ *        &lt;netui:checkBox 
dataSource="{actionForm.wantsSpecialOffers}"/>&lt;br>
+ *        &lt;netui:button value="Submit" type="submit"/>
+ *    &lt;/netui:form></pre>
  *
- * @see CheckBoxGroup
- * @see CheckBoxOption
  *
  * @netui:tag name="checkBox" description="Generates a checkbox that binds to 
a form bean property or databound expression."
  * @netui.tldx:tag requiredchild="attribute" 
renderer="workshop.netui.jspdesigner.tldx.CheckboxRenderer"
@@ -382,6 +410,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G,
+     * H, V, left arrow, and right arrow</code>
+     *
+     * @jsptagref.databindable false
+     *
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"  type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -394,6 +432,13 @@
     /**
      * Sets the alt attribute value.
      * @param alt - the alt value.
+     * @jsptagref.attributedescription
+     * The alt attribute of the element.
+     *
+     * @jsptagref.databindable Read Only
+     *
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -406,6 +451,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key.
+     *
+     * @jsptagref.databindable false
+     *
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"  type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   Thu Jul 22 12:05:26 2004
@@ -67,29 +67,102 @@
  * <tr><th rowspan="2">tagId</th><td>No</td><td>No</td><td>No</td></tr>
  * <tr><td colspan="3">The ID of this button used by the enclosing html tag to 
get the tag's real ID attribute for Javascript and focus purposes. The real ID 
attribute id is generated based upon this name.</td></tr>
  * </table>
- * @example In this first sample, a CheckBoxGroup has a set of CheckBoxOptions 
drawn from the page flow's
- * colors property, uses the page flow's <code>defaultPreferredColors</code> 
as a set of
- * defaults if no preferredColors have been selected, and writes the selected 
preferred
- * colors to the form bean's <code>preferredColors</code> property.
- * <pre>
- * &lt;netui:checkBoxGroup dataSource="{actionForm.preferredColors}"
- *           defaultValue="{pageFlow.defaultPreferredColors}"
- *           optionsDataSource="{pageFlow.colors} />
- * </pre>
- * <p>In the next sample, the <code>{actionForm.states}</code> expression 
references the list
- * of currently selected states.  If there are none, the default value,
- * <code>{actionForm.defaultState}</code>, is used. The 
<code>{pageFlow.availableStates}</code>
- * expression references the list of choices to render in the checkboxes. In 
this example,
- * the display text and POST value are the same.</p>
- * <pre>
- * &lt;netui:checkBoxGroup dataSource="{actionForm.states}"
- *        optionsDataSource="{pageFlow.availableStates}"
- *        defaultValue="{actionForm.defaultState}"/>
- * </pre>
- *
- * @see CheckBox
- * @see CheckBoxOption
+ * @jsptagref.tagdescription
+ * Handles data binding for a collection of [EMAIL PROTECTED] CheckBoxOption} 
tags.
+ * 
+ * <p><b>Submitting Data</b></p>
+ * <p>The &lt;netui:checkBoxGroup> submits data in the form of a String[] 
object.
+ * For example, if the &lt;netui:checkBoxGroup> submits data to a Form Bean 
field...
+ * 
+ * <pre>        &lt;netui:checkBoxGroup 
+ *                  dataSource="{actionForm.userSelections}"
+ *                  optionsDataSource="{pageFlow.availableSelections}" /></pre>
+ * 
+ * ...then the Form Bean field must be a String[] object... 
+ * 
+ * <pre>      public static class SubmitForm extends FormData
+ *      {
+ *          private String[] userSelections;
+ *      
+ *          public void setUserSelections(String[] userSelections)
+ *          {
+ *              this.userSelections = userSelections;
+ *          }
+ *      
+ *          public String[] getUserSelections()
+ *          {
+ *              return this.userSelections;
+ *          }
+ *      }</pre>
+ * 
+ * <p><b>Dynamically Defined Checkboxes</b></p>
+ * You can dynamically define a set of checkboxes by pointing the 
<code>optionsDataSource</code> attribute
+ * at a String[] object.  When the &lt;netui:checkBoxGroup> is rendered in the 
browser, a 
+ * corresponding set of 
+ * checkboxes will be genereated from the String[] object.
+ * 
+ * <p>For example, if you define a String[] object in the Controller file...
+ * 
+ * <pre>    public String[] availableOptions = {"option1", "option2", 
"option3"};</pre>
+ * 
+ * ...and reference this String[] from the <code>optionDataSource</code> 
attribute...
+ * 
+ * <pre>        &lt;netui:checkBoxGroup 
+ *                  dataSource="{actionForm.userSelections}"
+ *                  optionsDataSource="{pageFlow.availableSelections}" /></pre>
+ *                  
+ * ...then the appropriate checkboxes will be rendered in the browser.
+ * 
+ * <pre>      &lt;input type="checkbox" value="option1">option1&lt;/input>
+ *      &lt;input type="checkbox" value="option2">option2&lt;/input>
+ *      &lt;input type="checkbox" value="option3">option3&lt;/input></pre> 
+ *  
+ * For checkboxes to be rendered, either the <code>optionsDataSource</code> 
attribute must be provided 
+ * (and point to a String[] object) or the &lt;netui:checkBoxGroup> must have 
children 
+ * &lt;netuiCheckBoxOption> tags.
+ *      
+ * <p><b>Setting Default Options</b></p>
+ * <p>The <code>defaultValue</code> attribute can be used to determine which 
checkboxs are checked 
+ * when they are first rendered in the browser.  The <code>defaultValue</code> 
attribute 
+ * should point to a String, if only one checkbox should appear checked, or to 
a String[] object, 
+ * if multiple checkboxes should appear checked. 
+ * 
+ * @example 
+ * In this first sample, the &lt;netui:checkBoxGroup> 
+ * submits data to the Form Bean field <code>preferredColors</code>.
+ * 
+ * <pre>        &lt;netui:checkBoxGroup 
+ *                  dataSource="{actionForm.preferredColors}"
+ *                  optionsDataSource="{pageFlow.colors}" /></pre>
+ *           
+ * The <code>optionsDataSource</code> attribute points to a String[] on the 
Controller file:
+ * 
+ * <pre>        colors = new String[] {"Red", "Blue", "Green", "Yellow", 
"White", "Black"};</pre>
+ * 
+ * This automatically renders the appropriate set of checkbox options within 
the &lt;checkBoxGroup>:
+ * 
+ * <pre>        &lt;input type="checkbox" value="Red">Red&lt;/input>
+ *        &lt;input type="checkbox" value="Blue">Blue&lt;/input>
+ *        &lt;input type="checkbox" value="Green">Green&lt;/input>
+ *        &lt;input type="checkbox" value="Yellow">Yellow&lt;/input>
+ *        &lt;input type="checkbox" value="White">White&lt;/input>
+ *        &lt;input type="checkbox" value="Black">Black&lt;/input></pre>
  *
+ * The <code>defaultValue</code> attribute may point to a String or a String[].
+ * 
+ * <pre>        defaultValue = new String ("Blue");</pre>
+ * <pre>        defaultValue = new String[] {"Red", "Blue"};</pre>
+ * 
+ * In either case, the appropriate 
+ * checkbox options will appear checked in the browser.
+ * 
+ * <pre>        &lt;input type="checkbox" value="Red" 
checked="true">Red&lt;/input>
+ *        &lt;input type="checkbox" value="Blue" checked="true">Blue&lt;/input>
+ *        &lt;input type="checkbox" value="Green">Green&lt;/input>
+ *        &lt;input type="checkbox" value="Yellow">Yellow&lt;/input>
+ *        &lt;input type="checkbox" value="White">White&lt;/input>
+ *        &lt;input type="checkbox" value="Black">Black&lt;/input></pre> 
+ * 
  * @netui:tag name="checkBoxGroup" description="Groups a collection of 
CheckBoxOptions, and handles databinding of their values."
  * @netui.tldx:tag whitespace="indent"
  * renderer="workshop.netui.jspdesigner.tldx.CheckboxGroupRenderer"

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
  Thu Jul 22 12:05:26 2004
@@ -50,12 +50,25 @@
  *
  * </table>
  * </p>
- * @example In this sample, a CheckBoxOption (within a CheckBoxGroup) displays 
a label
- * and has a value of "Red".
- * <pre>&lt;netui:checkBoxOption value="Red" /></pre>
- *
- * @see CheckBox
- * @see CheckBoxGroup
+ * @jsptagref.tagdescription
+ * The &lt;netui:checkBoxOption> tag renders a single HTML checkbox within a 
group of checkboxes. 
+ * 
+ * The &lt;netui:checkBoxOption> tags must have a parent 
+ * [EMAIL PROTECTED] CheckBoxGroup} tag (which
+ * determines the data binding for the &lt;netui:checkBoxOption> tags).
+ * 
+ * @example 
+ * In this sample, a set of &lt;checkBoxOption> tags are submitted  
+ * to the <code>processData</code> action method. 
+ * 
+ * <pre>     &lt;netui:form action="processData">
+ *          &lt;netui:checkBoxGroup dataSource="{actionForm.data}" 
defaultValue="{actionForm.defaultChoices}">
+ *              &lt;netui:checkBoxOption value="wantSpecialCDOffers">Do you 
want to be notified of special CD offers?&lt;/netui:checkBoxOption>&lt;br>
+ *              &lt;netui:checkBoxOption value="wantSpecialDVDOffers">Do you 
want to be notified of special DVD offers?&lt;/netui:checkBoxOption>&lt;br>
+ *          &lt;/netui:checkBoxGroup>
+ *          &lt;netui:button value="Submit" type="submit"/>
+ *      &lt;/netui:form></pre>
+ * 
  *
  * @netui:tag name="checkBoxOption" description="A checkbox whose state is 
determined by its enclosing CheckBoxGroup."
  * @netui.tldx:tag requiredparent="checkBoxGroup"
@@ -117,6 +130,13 @@
      * Set the label style for each contained CheckBoxOption.
      * The label style here will override a labelStyle at the CheckBoxGroup 
level.
      * @param labelStyle - the label style
+     * @jsptagref.attributedescription
+     * The style of the text displayed by the rendered checkbox.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_label</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute category="format" 
propertyclass="workshop.jspdesigner.properties.JspStyleProperty"
      */
@@ -129,6 +149,13 @@
      * Set the label style class for each contained CheckBoxOption.
      * The label style class here will override a labelStyleClass at the 
CheckBoxGroup level.
      * @param labelStyleClass - the label style
+     * @jsptagref.attributedescription
+     * The class of the text displayed by the rendered checkbox.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute category="format"
      */
@@ -140,6 +167,14 @@
     /**
      * Set the value of this CheckBoxOption.
      * @param value - the CheckBoxOption value
+     * @jsptagref.attributedescription
+     * A String literal or a data binding expression.  The value attribute 
determines the value submitted 
+     * by the checkbox.
+     * 
+     * @jsptagref.databindable true
+     * 
+     * @jsptagref.attributesyntaxvalue 
<i>string_literal_or_expression_value</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -298,6 +333,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -309,6 +354,13 @@
     /**
      * Sets the alt attribute value.
      * @param alt - the alt value.
+     * @jsptagref.attributedescription
+     * The alt attribute of the element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -320,6 +372,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Content.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Content.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Content.java
 Thu Jul 22 12:05:26 2004
@@ -36,11 +36,44 @@
  *
  * </table>
  * </p>
- * @example In this sample, the Content tag displays the form bean's 
<code>lastName</code> property.
+ * @jsptagref.tagdescription
+ * The &lt;netui:content> tag displays text or the result of an expression to 
the page.
+ * Note that &lt;netui:content> is similar to [EMAIL PROTECTED] Label}, except 
for the way
+ * it processes HTML-sensitive text.  The &lt;netui:content> tag does not 
escape 
+ * HTML-sensitive characters, but the &lt;netui:label> tag filters the input 
+ * string for characters that are senstive to
+ * HTML interpreters and replaces these characters 
+ * with the corresponding entity strings.  For example, if you pass the 
+ * string '&amp;amp;' to a &lt;netui:label> tag, the string '&amp;amp;amp;' 
will be written to
+ * the HTML source file, and the following will be displayed
+ * in the browser: '&amp;amp;'.
+ * 
+ * <p>The following table shows how the &lt;netui:label> and 
&lt;netui:content> tags treat HTML-sensitive characters.
+ * <blockquote>
+ *      <table border="1">
+ *          <tr>
+ *              <td width="30%"><b>tag</b></td>
+ *              <td width="30%"><b>generated HTML source</b></td>
+ *              <td width="30%"><b>displayed in browser</b></td>
+ *          </tr>
+ *          <tr>
+ *              <td>&lt;netui:content value="&amp;amp;"/></td>
+ *              <td>&amp;amp;</td>
+ *              <td>&</td>
+ *          </tr>
+ *          <tr>
+ *              <td>&lt;netui:label value="&amp;amp;"/></td>
+ *              <td>&amp;amp;amp;</td>
+ *              <td>&amp;amp;</td>
+ *          </tr>
+ *      </table>
+ * </blockquote>
+ * 
+ * @example 
+ * In this sample, the Content tag displays the Form Bean's 
<code>lastName</code> property.
  * <pre>
- * &lt;netui:content value="{actionForm.lastName}" />
- * </pre>
- *
+ * &lt;netui:content value="{actionForm.lastName}" /></pre>
+ * 
  * @netui:tag name="content" description="Used to display text or the result 
of an expression to the page."
  * @netui.tldx:tag requiredchild="#nothing" 
renderer="workshop.netui.jspdesigner.tldx.ContentRenderer" 
bodycontentpref="empty"
  */
@@ -64,6 +97,13 @@
     /**
      * Set the default value of this Content.
      * @param defaultValue - the default value
+     * @jsptagref.attributedescription
+     * The String literal or expression to be used as the default output.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue 
<i>string_or_expression_defaultOutput</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -76,6 +116,13 @@
     /**
      * Set the value of this Content.
      * @param value - the Content value
+     * @jsptagref.attributedescription
+     * The String literal or expression used to output the content.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_output</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true" 
type="java.lang.Object"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Error.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Error.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Error.java
   Thu Jul 22 12:05:26 2004
@@ -52,12 +52,26 @@
  * <tr><td colspan="3">The value for getting the error key</td></tr>
  *
  * </table>
- * @example In this sample, the "InvalidName" message from the errorMessages 
bundle will be used to output the error.
+ * @jsptagref.tagdescription
+ * Renders an error message with a given error key value if that key can be 
found in the
+ * ActionErrors registered in the <code>PageContext</code> at
+ * <code>org.apache.struts.action.Action.ERROR_KEY</code>. 
+ * 
+ * <p>The following optional message keys will be utilized if corresponding
+ * messages exist for them in the application resources:
+ * <blockquote>
+ * <ul>
+ * <li><b>error.prefix</b> - If present, the corresponding message will be
+ *     rendered before each individual error message.</li>
+ * <li><b>error.suffix</b> - If present, the corresponding message will be
+ *     rendered after each individual error message.</li>
+ * </ul>
+ * </blockquote>
+ * 
+ * @example 
+ * In this sample, the "InvalidName" message from the errorMessages bundle 
will be used to output the error. 
  * <pre>
- * &lt;netui:error bundle="com.project.errorMessages" value="InvalidName"/>
- * </pre>
- *
- * @see Errors
+ * &lt;netui:error bundle="com.project.errorMessages" 
value="InvalidName"/></pre>
  *
  * @netui:tag name="error" description="Renders an error message with a given 
error key value."
  * @netui.tldx:tag requiredchild="#nothing" 
renderer="workshop.netui.jspdesigner.tldx.ErrorRenderer" 
bodycontentpref="empty" whitespace="indent"
@@ -77,6 +91,13 @@
     /**
      * Set the value of the error key.
      * @param value - the error key value
+     * @jsptagref.attributedescription
+     * The value for getting the error key
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Errors.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Errors.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Errors.java
  Thu Jul 22 12:05:26 2004
@@ -55,12 +55,31 @@
  * <tr><td colspan="3">The session attribute key for the locale</td></tr>
  *
  * </table>
- * @example In this sample, the messages from the <code>errorMessages</code> 
bundle will be used to
- * output the errors.
+ * @jsptagref.tagdescription
+ * Renders the set of error messages found in the ActionErrors
+ * registered in the <code>PageContext</code> at 
org.apache.struts.action.Action.ERROR_KEY.
+ * <p>
+ * The following optional message keys will be utilized if corresponding
+ * messages exist for them in the application resources:
+ * <blockquote>
+ * <ul>
+ * <li><b>errors.header</b> - If present, the corresponding message will be
+ *     rendered prior to the individual list of error messages.</li>
+ * <li><b>errors.footer</b> - If present, the corresponding message will be
+ *     rendered following the individual list of error messages.</li>
+ * <li><b>errors.prefix</b> - If present, the corresponding message will be
+ *     rendered before each individual error message.</li>
+ * <li><b>errors.suffix</b> - If present, the corresponding message will be
+ *     rendered after each individual error message.</li>
+ * </ul>
+ * </blockquote>
+ *
+ * @example 
+ * In this sample, the messages from the <code>errorMessages</code> bundle 
will be used to
+ * output the errors. 
  * <pre>
- * &lt;netui:errors bundle="com.project.errorMessages" />
- * </pre>
- * @see Error
+ * &lt;netui:errors bundle="com.project.errorMessages" /></pre>
+ * 
  * @netui:tag name="errors" description="Used to report multiple validation 
errors."
  * @netui.tldx:tag requiredchild="#nothing" 
renderer="workshop.netui.jspdesigner.tldx.ErrorsRenderer" 
bodycontentpref="empty" whitespace="indent"
  */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Exceptions.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Exceptions.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Exceptions.java
      Thu Jul 22 12:05:26 2004
@@ -46,8 +46,14 @@
  *
  * </table>
  * </p>
- * @example In this sample, the Exceptions tag will output the exceptions 
messages but not the stacktraces.
+ * @jsptagref.tagdescription
+ * This tag renders exception messages and stack traces inline on the JSP page.
+ * 
+ * @example 
+ * In this sample, the &lt;netui:exceptions> tag will output the exception 
title and message, 
+ * but not the stacktraces. 
  * <pre>&lt;netui:exceptions showMessage="true" showStackTrace="false" /></pre>
+ *
  * @netui:tag name="exceptions" description="Displays formatted exception 
messages."
  * @netui.tldx:tag requiredchild="#nothing" 
renderer="workshop.netui.jspdesigner.tldx.ExceptionsRenderer" 
bodycontentpref="empty" whitespace="indent"
  */
@@ -60,6 +66,13 @@
     /**
      * Set whether or not the exception message is being shown.
      * @param showMessage - true or false depending on the setting desired
+     * @jsptagref.attributedescription
+     * Boolean. Determines whether or not the exception message is shown. 
Defaults to <code>true</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_showMessage</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setShowMessage(boolean showMessage)
@@ -70,6 +83,13 @@
     /**
      * Set whether or not the stack trace is being shown.
      * @param showStackTrace - true or false depending on the setting desired
+     * @jsptagref.attributedescription
+     * Boolean.  Determines whether or not the stack trace is shown. Defaults 
to <code>false</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_showStackTrace</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setShowStackTrace(boolean showStackTrace)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FileUpload.java
      Thu Jul 22 12:05:26 2004
@@ -56,10 +56,76 @@
  * <li>The page flow or form bean property pointed to with the FileUpload's 
dataSource
  * should be of type <code>org.apache.struts.upload.FormFile</code>.</li>
  * </ul>
- * @example In this sample, an &lt;input type="file" /> of size 20 will be 
rendered, and the uploaded
- * file's information will be found at the form bean's <code>theFile</code> 
property.
- * <pre>&lt;netui:fileUpload dataSource="{actionForm.theFile}" size="20" 
/></pre>
- *
+ * @jsptagref.tagdescription
+ * Renders an HTML input tag with which users can browse, select, and upload 
files
+ * from their local machine. 
+ * 
+ * <p>To successfully upload files, the following two conditions must be met:
+ * 
+ * <blockquote>
+ * <ul>
+ * <li>The &lt;netui:fileUpload> tag must have a parent 
+ * [EMAIL PROTECTED] Form} tag with the attribute 
<code>enctype="multipart/form-data"</code>
+ * 
+ * <pre>     &lt;netui:form action="uploadFile" 
<b>enctype="multipart/form-data"</b>>
+ *     ...
+ *         &lt;netui:fileUpload tagId="inputbox" 
dataSource="{actionForm.theFile}" />            
+ *     ...        
+ *     &lt;/netui:form></pre>
+ * 
+ * </li>
+ * <li>The <code>dataSource</code> 
+ * attribute must point to a Form Bean field of 
+ * type <code>org.apache.struts.upload.FormFile</code>.
+ * 
+ * <pre>    public static class UploadFileForm extends FormData
+ *    {
+ *        private <b>org.apache.struts.upload.FormFile</b> theFile;
+ *    
+ *        public void setTheFile(org.apache.struts.upload.FormFile theFile)
+ *        {
+ *            this.theFile = theFile;
+ *        }
+ *      
+ *        public org.apache.struts.upload.FormFile getTheFile()
+ *        {
+ *            return this.theFile;
+ *        }
+ *    }</pre>
+ * </li>
+ * </ul>
+ * </blockquote>
+ * 
+ * The <code>dataSource</code> attribute for the &lt;netui:fileUpload> tag is 
write-only. 
+ * This means that the value of the &lt;netui:fileUpload> tag
+ * cannot be read back into the tag on postback.
+ * 
+ * @example 
+ * In the following example, note the <code>enctype</code> attribute of the 
+ * enclosing &lt;netui:form> tag.
+ * <pre>       &lt;netui:form action="uploadFile" 
enctype="multipart/form-data">
+ *          &lt;netui:fileUpload tagId="inputbox" 
dataSource="{actionForm.theFile}" />
+ *          &lt;netui:button value="Upload File" />
+ *      &lt;/netui:form></pre>
+ *      
+ * Note that the &lt;netui:fileUpload> tag submits the file to Form Bean 
property <code>theFile</code>.  This 
+ * property must be of type <code>org.apache.struts.upload.FormFile</code>:
+ * 
+ * <pre>    public static class UploadFileForm extends FormData
+ *  {
+ *      private <b>org.apache.struts.upload.FormFile</b> theFile;
+ *      
+ *      public void setTheFile(<b>org.apache.struts.upload.FormFile</b> 
theFile)
+ *      {
+ *          this.theFile = theFile;
+ *      }
+ *      
+ *      public <b>org.apache.struts.upload.FormFile</b> getTheFile()
+ *      {
+ *          return this.theFile;
+ *      }
+ *  }</pre> 
+ * 
  * @netui:tag name="fileUpload" description="Upload a file from the client to 
the server."
  * @netui.tldx:tag requiredchild="attribute" 
renderer="workshop.netui.jspdesigner.tldx.FileUploadRenderer"
  * bodycontentpref="empty" whitespace="indent"
@@ -113,6 +179,13 @@
     /**
      * Set the mime-types accepted for the FileUpload.
      * @param accept - the accepted mime-types
+     * @jsptagref.attributedescription
+     * The set of MIME types accepted for file upload.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_acceptTheseMIMETypes</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setAccept(String accept)
@@ -123,6 +196,13 @@
     /**
      * Set if this FileUpload is read-only.
      * @param readonly - the read-only state
+     * @jsptagref.attributedescription
+     * Boolean. Determines whether or not the file upload field is read-only.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_readOnly</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      * @netui.tldx:attribute category="misc"
      */
@@ -134,6 +214,13 @@
     /**
      * Set the size (in characters) of the FileUpload.
      * @param size - the size
+     * @jsptagref.attributedescription
+     * Integer. The number of characters visible in the file upload field.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_fieldSize</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
    Thu Jul 22 12:05:26 2004
@@ -91,50 +91,145 @@
  * The bean is then used to populate the form input fields.</td></tr>
  *
  * </table>
- * @example In this first sample, a JSP page in the current page flow contains 
the
- * following &lt;netui:form...> tag set. This Form invokes the 
<code>toDropDown</code>
- * action method in the page flow when it is submitted.
- * <pre>
- * &lt;netui:form action="toDropdown">
- *     &lt;netui:imageButton
- *     rolloverImage="resources/images/go-button-rollover.gif"
- *     src="resources/images/go-button.gif" />
- * &lt;/netui:form>
- * </pre>
- * <p>In the page flow that contains the JSP page, the action is defined to 
forward to a specified target;
- * in this case, to the /dropdown/dropdownController.jpf page flow. Thus the 
dropdownController page flow
- * is started when a user clicks the Go! button on the JSP. Here is the 
defined action from
- * the page flow:</p>
- * <pre>
- *  /**
- *   &#x2a; &#x40;jpf:action
- *   &#x2a; &#x40;jpf:forward name="dropdown" 
path="/dropdown/dropdownController.jpf"
+ * @jsptagref.tagdescription
+ * Renders an HTML form that can be submitted to a Java method 
+ * in the Controller file for processesing.  
+ * 
+ * <p><b>Submitting Data</b></p>
+ * 
+ * <p>When a &lt;netui:form> is submitted, the form data is passed to a method 
+ * for processessing.  The data is passed as a Form Bean instance.   
+ * The &lt;netui:form>'s input fields correspond to the properties of the Form 
Bean.
+ * When the form is submitted the following sequence of events occurs:
+ * (1) a new Form Bean instance is created, (2) the form data is loaded into 
the 
+ * corresponding Form Bean properties, 
+ * and (3) the Form Bean instance is passed to the method
+ * where the data is processed.
+ * 
+ * <p>The <code>action</code> attribute determines the target method of the 
submission.
+ * The parameter of the target method determines the Form Bean instance 
+ * that carries the submitted data.
+ * 
+ * <p>For example, if a &lt;netui:form>'s target method is 
<code>someAction</code> ...
+ * 
+ * <pre>      &lt;netui:form action="<b>someAction</b>">
+ *               // 
+ *               // input fields go here
+ *               // 
+ *          &lt;netui:button value="Submit" type="submit"/>
+ *      &lt;/netui:form></pre>
+ * 
+ * <p>...and the <code>someAction</code> method takes a Form Bean parameter of 
+ * type <code>SomeFormBean</code>...
+ * 
+ * <pre>    /**
+ *     * &#x40;jpf:action
+ *     * &#x40;jpf:forward name="success" path="showData.jsp"
+ *     &#x2a;/
+ *     protected Forward someAction(<b>SomeFormBean form</b>)</pre>
+ *  
+ *  <p>...then an instance of <code>SomeFormBean</code> will carry the 
submitted data.
+ *  
+ *  <p><b>Pre-populating Form Fields with the Session Object</b></p>
+ *  
+ *  <p>The <code>name</code>, <code>type</code>, and <code>scope</code> 
attributes can 
+ *  be used together to pre-populate 
+ *  the form fields with default values when they are first rendered in the 
browser. 
+ *  
+ *  <p>In the Controller file, instantiate the appropriate Form Bean, set 
default values, and 
+ *  store the Form Bean instance in the Session object.
+ *  
+ *  <pre>    protected void onCreate()
+ *    {
+ *      // Create a new Form Bean instance
+ *      ProcessDataForm formInstance = new ProcessDataForm();
+ *      
+ *      // Set default values.
+ *      formInstance.setAge(32);
+ *      formInstance.setName("John");
+ *      
+ *      // Store the instance in the Session object.
+ *      getSession().setAttribute("defaultValues", formInstance);   
+ *    }</pre>
+ *  
+ *  <p>Then, use the <code>name</code>, <code>type</code>, and 
<code>scope</code> attributes to pre-populate the 
+ *  form fields.
+ *  
+ *  <pre>    &lt;netui:form 
+ *        action="processData" 
+ *        name="defaultValues" 
+ *        type="tagSamples.netui.form.FormController$ProcessDataForm" 
+ *        scope="session"></pre>
+ *        
+ * <p><b>Note:</b> when the data is submitted, the data is passed as a 
Request-scoped Form 
+ * Bean, *not* as the Session-scoped Form Bean used to pre-populate the 
fields.  However, you
+ * may pass the data as a Page Flow-scoped Form Bean, if the annotation 
+ * <code>&#x40;jpf:action form="somePageFlowScopedBean"</code> is set on the 
receiving method.
+ * For detailed information on Form Bean scopings see 
+ * <a href="[EMAIL 
PROTECTED]/../guide/netui/guide/conReqScopedVsPageScopedBean.html">Form Bean 
Scopings</a>
+ * 
+ *  <p><b>Pre-populating Form Fields By Passing a Form Bean Instance to the 
JSP Page</b></p>
+ * 
+ *  <p>As an alternative to the pre-population technique above, you can set 
the 
+ *  pre-population values in a Form Bean instance and then pass that instance 
to the JSP page. 
+ *  For example, assume that index.jsp contains the &lt;netui:form> and input 
elements.
+ *  The following action method sets the pre-population values in a Form Bean 
instance 
+ *  and passes that instance to the 
+ *  &lt;netui:form> and its input elements.
+ * Note that the Forward object returned by the method has two parameters, the 
String "success"
+ * and the pre-populated form.
+ *  
+ *  <pre>    /**
+ *   * &#x40;jpf:action
+ *   * &#x40;jpf:forward name="success" path="index.jsp"
  *   &#x2a;/
- *   protected Forward toDropdown()
- *   {
- *       return new Forward("dropdown");
- *   }
- * </pre>
- * <p><b>JavaScript</b></p>
- * <p>If the Form has a focus and nested tags with TagIDs, the following 
Javascript is written
- * in the rendered JSP:</p>
- * <pre>
- * if (document.forms[formId][focus] != "hidden")<br>
- *     document.forms[formId][focus].focus();
- * </pre>
- * <p>In this next sample, the input field values will be set based upon an
- * <code>ActionForm</code> stored in the session called <code>nameBean</code>.
- * When the form is submitted, the action named <code>Action</code> will 
receive an
- * <code>ActionForm</code> that is <code>request</code> scoped and will not 
receive
- * the session bean used to populate the input fields.
- * <pre>
- * &lt;netui:form action="Action" type="corp.Controller$NameBean"
- *     scope="session" name="nameBean">
- *     Name: &lt;netui:textBox dataSource="{actionForm.name}" />
- *     &lt;netui:button value="Submit">&lt;/netui:button>
- * &lt;/netui:form>
- * </pre>
+ *  protected Forward begin(ProcessDataForm form)
+ *  {
+ *      form.setAge(44);
+ *      form.setName("Mark");
+ *      return new Forward("success", form);
+ *  }</pre>
+ *  
+ * @example 
+ * In this first sample, the
+ * &lt;netui:form> tag invokes the <code>processData</code>
+ * action method in the Controller file when the form is submitted.
+ * <pre>      &lt;netui:form action="processData">
+ *              Name:
+ *              &lt;netui:textBox dataSource="{actionForm.name}"/>
+ *              Age:
+ *              &lt;netui:textBox dataSource="{actionForm.age}"/>
+ *              &lt;netui:button value="Submit" type="submit"/>
+ *      &lt;/netui:form></pre> 
+ *          
+ * <p> Notice that the processData action method takes a parameter of 
+ * type <code>ProcessDataForm</code>.</p>
+ * <pre>    /**
+ *     * &#x40;jpf:action
+ *     * &#x40;jpf:forward name="success" path="showData.jsp"
+ *     &#x2a;/
+ *    protected Forward processData(ProcessDataForm form)
+ *    {
+ *        //
+ *        // Process the submitted data here.
+ *        //
+ *      
+ *        return new Forward("success");
+ *    }</pre>
  *
+ * <p>This means that the submitted data is loaded into an
+ * instance of ProcessDataForm before 
+ * it is passed to the action method.
+ * 
+ * <p>In this next sample, the form fields are pre-populated based upon 
default values
+ * stored in the Session object.
+ * <pre>
+ *      &lt;netui:form action="Action" type="corp.Controller$NameBean"
+ *          scope="session" name="nameBean">
+ *          Name: &lt;netui:textBox dataSource="{actionForm.name}" />
+ *          &lt;netui:button value="Submit"/>
+ *      &lt;/netui:form></pre>
+ * 
  * @netui:tag name="form" description="Represents an input form, associated 
with a bean whose properties correspond to the various fields of the form."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.FormRenderer" 
illegalancestor="form" whitespace="indent"
  * netuiexpressioninfo="org.apache.beehive.netui.tags.html.FormInfo"
@@ -217,6 +312,13 @@
     /**
      * Set the name of the action for the Form.
      * @param action - the name of the action to set for the Form.
+     * @jsptagref.attributedescription
+     * Required. The action method invoked on form submit.  Form data is 
passed to this method.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_action</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      * @netui.tldx:attribute reftype="netui-action-url"
      */
@@ -228,6 +330,13 @@
     /**
      * Set the content encoding to be used on a post submit.
      * @param enctype - the content encoding type.
+     * @jsptagref.attributedescription
+     * The content encoding to be used on a POST submit.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_enctype</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -255,6 +364,13 @@
     /**
      * Set the name of the field to receive focus.
      * @param focus - the focus field name.
+     * @jsptagref.attributedescription
+     * The <code>tagID</code> of an input field which should receive initial 
focus.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_focus</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setFocus(String focus)
@@ -265,6 +381,13 @@
     /**
      * Set the location hash to append to the url.
      * @param location - the location hash
+     * @jsptagref.attributedescription
+     * The location hash to append to the URL.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_location</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -276,6 +399,13 @@
     /**
      * Set the request method used when submitting this form.
      * @param method - the request method
+     * @jsptagref.attributedescription
+     * The request method used when submitting this form.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_method</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -287,6 +417,14 @@
     /**
      * Set the attribute key under which our associated bean is stored.
      * @param name - the attribute key name
+     * @jsptagref.attributedescription
+     * The attribute key under which the associated Form Bean used to populate 
the input form is stored. 
+     * This Form Bean is found in the scope defined by the <code>scope</code> 
attribute.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -298,6 +436,13 @@
     /**
      * Sets the onReset javascript event.
      * @param onReset - the onReset event.
+     * @jsptagref.attributedescription
+     * The JavaScript onReset event.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_onSubmit</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.EventPropertyClass" 
category="event"
      */
@@ -310,6 +455,13 @@
     /**
      * Sets the onSubmit javascript event.
      * @param onSubmit - the onReset event.
+     * @jsptagref.attributedescription
+     * The JavaScript onSubmit event.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_onSumbit</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.EventPropertyClass" 
category="event"
      */
@@ -323,6 +475,16 @@
      * Sets the scope (request or session) under which the associated bean
      * is stored.
      * @param scope - the scope.
+     * @jsptagref.attributedescription
+     * The scope (<code>request</code> or <code>session</code>) under which 
the associated Form Bean 
+     * used to populate the form input fields is stored. 
+     * Using the <code>name</code>, <code>type</code>  and <code>scope</code> 
attributes defines 
+     * the Form Bean used.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_scope</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -334,6 +496,13 @@
     /**
      * Sets the window target.
      * @param target - the window target.
+     * @jsptagref.attributedescription
+     * The window target
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_windowTarget</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setTarget(String target)
@@ -344,6 +513,15 @@
     /**
      * Sets the Java class name of the bean to be created, if necessary.
      * @param type - the class name
+     * @jsptagref.attributedescription
+     * The Java class name of the Form Bean to be created, if necessary. 
+     * This Form Bean will be created if the <code>name</code> and 
<code>scope</code> attributes are set. 
+     * The Form Bean is then used to populate the form input fields.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_type</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatDate.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatDate.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatDate.java
      Thu Jul 22 12:05:26 2004
@@ -68,12 +68,137 @@
  *
  * </table>
  * </p>
- * @example In this sample, the enclosing tag's date will be formatted to 
something like 08/29/1957.
- * <pre>&lt;netui:formatDate pattern="MM/dd/yyyy" /> </pre>
- *
- * @see FormatNumber
- * @see FormatString
- *
+ * @jsptagref.tagdescription
+ * A formatter used to format dates.  This formatter uses patterns that 
conform to
+ * [EMAIL PROTECTED] java.text.SimpleDateFormat java.text.SimpleDateFormat} 
pattern syntax.  
+ * Valid types for formatting are:
+ * <blockquote>
+ * <ul>
+ * <li>String</li>
+ * <li>java.sql.Date</li>
+ * <li>java.util.Date</li>
+ * <li>java.util.Calendar</li>
+ * </ul>
+ * </blockquote>
+ * 
+ * <p>The &lt;netui:formatDate> tag formats the output of its parent tag.  For 
example:
+ * 
+ * <pre>    &lt;netui:content value="{pageContext.euroDate}">
+ *        &lt;netui:formatDate pattern="dd-MM-yyyy" />
+ *    &lt;/netui:content></pre>
+ * 
+ * <p>
+ * The following table summarizes the pattern letters that can be used.
+ * <table border=0 cellspacing=3 cellpadding=0>
+  <tr bgcolor="#ccccff"> 
+    <th align=left>Letter 
+    <th align=left>Date or Time Component 
+    <th align=left>Examples 
+  <tr> 
+    <td><code>G</code> 
+    <td>Era designator 
+    <td><code>AD</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>y</code> 
+    <td>Year 
+    <td><code>1996</code>; <code>96</code> 
+  <tr> 
+    <td><code>M</code> 
+    <td>Month in year 
+    <td><code>July</code>; <code>Jul</code>; <code>07</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>w</code> 
+    <td>Week in year 
+    <td><code>27</code> 
+  <tr> 
+    <td><code>W</code> 
+    <td>Week in month 
+    <td><code>2</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>D</code> 
+    <td>Day in year 
+    <td><code>189</code> 
+  <tr> 
+    <td><code>d</code> 
+    <td>Day in month 
+    <td><code>10</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>F</code> 
+    <td>Day of week in month 
+    <td><code>2</code> 
+  <tr> 
+    <td><code>E</code> 
+    <td>Day in week 
+    <td><code>Tuesday</code>; <code>Tue</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>a</code> 
+    <td>Am/pm marker 
+    <td><code>PM</code> 
+  <tr> 
+    <td><code>H</code> 
+    <td>Hour in day (0-23) 
+    <td><code>0</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>k</code> 
+    <td>Hour in day (1-24) 
+    <td><code>24</code> 
+  <tr> 
+    <td><code>K</code> 
+    <td>Hour in am/pm (0-11) 
+    <td><code>0</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>h</code> 
+    <td>Hour in am/pm (1-12) 
+    <td><code>12</code> 
+  <tr> 
+    <td><code>m</code> 
+    <td>Minute in hour 
+    <td><code>30</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>s</code> 
+    <td>Second in minute 
+    <td><code>55</code> 
+  <tr> 
+    <td><code>S</code> 
+    <td>Millisecond 
+    <td><code>978</code> 
+  <tr bgcolor="#eeeeff"> 
+    <td><code>z</code> 
+    <td>Time zone 
+    <td><code>Pacific Standard Time</code>; <code>PST</code>; 
<code>GMT-08:00</code> 
+  <tr> 
+    <td><code>Z</code> 
+    <td>Time zone 
+    <td><code>-0800</code> 
+</table>
+ * </p>
+ * 
+ * The number of pattern letters used determines the final presentation.  For 
example, 
+ * yy specifies a 2 digit year, while yyyy specifies a four digit year.  For 
detailed information see
+ * [EMAIL PROTECTED] java.text.SimpleDateFormat java.text.SimpleDateFormat}.
+ * 
+ * <p>
+ * If the input type is a String, &lt;netui:formatDate> attempts to 
+ * convert the String into a java.util.Date object before formatting.  
+ * For the conversion to succeed, the
+ * String must conform to a format listed below.
+ * <p>
+ * The valid formats are:
+ * <blockquote>
+ * <ul>
+ * <li>MM/dd/yy</li>
+ * <li>yyyy-MM-dd</li>
+ * <li>MMddyy</li>
+ * <li>the local default</li>
+ * </ul>
+ * </blockquote>
+ * 
+ * @example 
+ * In this sample, the &lt;netui:label> tag's output will be formatted to 
something like 08/29/1957.
+ * <pre>    &lt;netui:label value="{pageContext.today}">
+ *        &lt;netui:formatDate pattern="MM/dd/yyyy" />
+ *    &lt;/netui:label></pre>
+ * 
  * @netui:tag name="formatDate" description="A formatter used to format dates."
  * @netui.tldx:tag requiredparent="label select textArea textBox 
data:anchorColumn data:basicColumn data:expressionColumn";
  * requiredchild="#nothing"
@@ -102,6 +227,13 @@
      * Set the pattern to use to convert a String value into a date.  This
      * will be used before the common formats.
      * @param pattern the pattern representing the string input
+     * @jsptagref.attributedescription
+     * The pattern used to convert a String value into a date.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_stringInputPattern</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatNumber.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatNumber.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatNumber.java
    Thu Jul 22 12:05:26 2004
@@ -52,24 +52,72 @@
  *
  * </table>
  * </p>
- * @example In this first sample, given the value "12345678", the enclosing 
tag's text will be formatted
+ * @jsptagref.tagdescription
+ * A tag used to format numbers.
+ * 
+ * <p>The &lt;netui:formatNumber> tag formats the output of its parent tag. 
For example: 
+ * 
+ * <pre>    &lt;netui:label value="{price}">
+ *        &lt;netui:formatNumber country="FR" language="fr" type="currency" />
+ *    &lt;/netui:label></pre>  
+ *    
+ * <p>The <code>pattern</code> attribute conforms to
+ * [EMAIL PROTECTED] java.text.DecimalFormat java.text.DecimalFormat} pattern 
syntax.
+ * 
+ * <p>The <code>pattern</code> attribute uses the comma as a grouping 
separater. 
+ * If many different grouping sizes are specified in one <code>pattern</code>, 
 
+ * the right-most grouping interval will be used throughout; the other 
grouping intervals
+ * will be ignored.  For example, the following format patterns all produce 
the same result.
+ * If the number to format is 123456789, each will produce 123,456,789.
+ * <blockquote>
+ * <ul>
+ *  <li>pattern="#,##,###,###"</li>
+ *  <li>pattern="######,###"</li>
+ *  <li>pattern="##,####,###"</li>
+ * </ul>
+ * </blockquote>
+ * 
+ * <p>The <code>type</code> attribute specifies three common 
+ * kinds of formatting to be applied to the number.
+ * The valid values for the <code>type</code> attribute are:
+ * <blockquote>
+ * <ul>
+ * <li><code>number</code></li>
+ * <li><code>currency</code></li>
+ * <li><code>percent</code></li>
+ * </ul>
+ * </blockquote>
+ * 
+ * <p>The <code>country</code> attribute takes an upper-case, 
+ * two-letter code as defined by ISO-3166.
+ * For a list of country codes see 
+ * <a href="[EMAIL PROTECTED]/../reference/refISO3166CountryCodes.html">
+ * ISO-3166 Country Codes </a>
+ * 
+ * <p>The <code>language</code> attribute takes a lower-case, 
+ * two-letter code as defined by ISO-639.
+ * For a list of 
+ * ISO-639 language codes see 
+ * <a href="[EMAIL PROTECTED]/../reference/refISO639LanguageCodes.html">
+ * ISO-639 Language Codes </a> 
+ * 
+ * @example 
+ * In this first example, the value "12345678" is formatted
  * to 12,345,678.00.
- * <pre>
- * &lt;netui:formatNumber pattern="#,###,###.00" />
- * </pre>
- *
- * <p>In the next sample, given the value ".33", the enclosing tag's text will 
be formatted to 33%.</p>
- * <pre>
- * &lt;netui:formatNumber type="percent" />
- * </pre>
- *
- * <p>In the next sample, given the value "14.317", the enclosing tag's text 
will be formatted
- * to $14.32 (assumes US locale for currency).</p>
- * <pre>
- * &lt;netui:formatNumber type="currency" />
- * </pre>
- * @see FormatDate
- * @see FormatString
+ * <pre>    &lt;netui:label value="12345678">
+ *        &lt;netui:formatNumber pattern="#,###.00" />
+ *    &lt;/netui:label></pre>
+ * 
+ * <p>In the next sample, the value ".33" is formatted to 33%.</p>
+ * <pre>    &lt;netui:label value=".33">
+ *        &lt;netui:formatNumber type="percent" />
+ *    &lt;/netui:label></pre>
+ * 
+ * <p>In the next sample, the value "14.317" is formatted
+ * to $14.32.</p>
+ * <pre>    &lt;netui:label value="14.317">
+ *        &lt;netui:formatNumber country="US" language="en" type="currency" />
+ *    &lt;/netui:label></pre>
  *
  * @netui:tag name="formatNumber" description="A formatter used to format 
numbers."
  * @netui.tldx:tag requiredparent="label select textArea textBox 
data:anchorColumn data:basicColumn data:expressionColumn";
@@ -105,6 +153,13 @@
     /**
      * Sets the type of number format to be used (number, currency, or 
percent).
      * @param type - the number format type.
+     * @jsptagref.attributedescription
+     * The type of the format to apply. Possible values are 
<code>number</code>, <code>currency</code>, or <code>percent</code>.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_type</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setType(String type)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatString.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatString.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/FormatString.java
    Thu Jul 22 12:05:26 2004
@@ -66,13 +66,46 @@
  * should be dropped.</td></tr>
  *
  * </table>
- * @example In this sample, the enclosing tag's text will be formatted to fit 
like (555)555-5555,
- * and additonal text beyond the pattern will be truncated.
- * <pre>&lt;netui:formatString pattern="(###)###-####" truncate="true"/> </pre>
- *
- * @see FormatDate
- * @see FormatNumber
- *
+ * @jsptagref.tagdescription
+ * A formatter used to format strings.  
+ * 
+ * <p>The &lt;netui:formatString> tag formats the output of its parent tag.  
For example:
+ *  
+ * <pre>     &lt;netui:label value="{pageFlow.phone}">
+ *         &lt;netui:formatString pattern="phone number: (###) ###-####"/>
+ *     &lt;/netui:label> </pre>
+ * 
+ * <p>
+ * &lt;netui:formatString> uses the following pattern syntax:
+ * <p>
+ * The <b>#</b> character is a placeholder for individual characters in the 
String to be formatted,
+ * while other characters are treated as literals.  For example:
+ * <p>
+ * String "5555555555" with pattern "(###)###-####" would result in: 
(555)555-5555.
+ * <p>
+ * The <b>*</b> character displays all remaining characters in the String.  
For example:
+ * <p>
+ * String "123456" with pattern "#-*!" would result in: 1-23456!
+ * <p>
+ * If a result with a '#' or '*' character showing is desired, the '#' or '*' 
needs to
+ * be escaped with the '$' character.  For example:
+ * <p>
+ * String "ABCD" with pattern "$#-####" would result in: #-ABCD.
+ * <p>
+ * To show a '$' in the result, the '$' character needs to be escaped.  For 
example:
+ * <p>
+ * String "1234" with pattern "$$#,###" would result in: $1,234
+ * <p>
+ * If the <code>truncate</code> attribute is set to "true", characters in the 
String that exceed the pattern
+ * will be dropped.  Otherwise, they will be appended to the end of the 
formatted String.
+ * 
+ * @example 
+ * In this sample, the String "2125555555" will be formatted to this form: 
(212)555-5555.
+ *  
+ * <pre>    &lt;netui:label value="2125555555">
+ *        &lt;netui:formatString pattern="phone (###) ###-####"/>
+ *    &lt;/netui:label> </pre>
+ * 
  * @netui:tag name="formatString" description="A formatter used to format 
strings."
  * @netui.tldx:tag requiredparent="label select textArea textBox 
data:anchorColumn data:basicColumn data:expressionColumn";
  * requiredchild="#nothing"
@@ -96,6 +129,13 @@
     /**
      * Sets whether or not pattern-exceeding characters should be dropped.
      * @param truncate - "true" or "false"
+     * @jsptagref.attributedescription
+     * A boolean specifying whether characters that exceed the pattern's 
length should be dropped.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_truncate</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setTruncate(boolean truncate)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Hidden.java
  Thu Jul 22 12:05:26 2004
@@ -47,6 +47,16 @@
  * real ID attribute for JavaScript and focus purposes. The real ID attribute 
id is generated
  * based upon this name.</td></tr>
  * </table>
+ * @jsptagref.tagdescription
+ * Generates an HTML hidden tag with a given value.
+ * 
+ * <p>The <code>dataInput</code> attribute overrides the 
<code>dataSource</code> attribute 
+ * for the input of the value. 
+ * It allows a &lt;netui:hidden> tag to read it's value from one place 
(whatever is referenced by 
+ * the <code>dataInput</code> attribute) and submit the value to a new 
destination 
+ * (whatever is referenced by the <code>dataSource</code> attribute). 
+ * The <code>dataInput</code> attribute may take a String literal or a data 
binding expression.
+ *
  * @example In this sample, the Hidden tag is written using the value from the 
form bean's status property.
  * <pre>&lt;netui:hidden dataSource="{actionForm.status}"  /></pre>
  *
@@ -114,6 +124,53 @@
     /**
      * Set the ID of the hidden.
      * @param tagId - the ID.
+     * @jsptagref.attributedescription
+     * <p>String value. Sets the <code>id</code> (or <code>name</code>) 
attribute of the rendered HTML tag. 
+     * Note that the real id attribute rendered in the browser may be 
+     * changed by the application container (for example, Portal containers 
may change 
+     * the rendered id value to ensure the uniqueness of 
+     * id's on the page). In this case, the real id rendered
+     * in the browser may be looked up 
+     * through the JavaScript function getNetuiTagName( tagId, tag )</code>.
+     * 
+     * <p>For example, assume that some tag's <code>tagId</code> attribute is 
set to <code>foo</code>.
+     *
+     * <pre>    &lt;netui:textBox <b>tagId="foo"</b> /></pre>
+     *
+     * <p>Then the following JavaScript function will return the real id 
attribute rendered in the browser:
+     * 
+     * <pre>    getNetuiTagName( "foo", this )</pre> 
+     * 
+     * <p>To get a &lt;netui:form> element and all of its children elements in 
JavaScript, use 
+     * the same JavaScript function <code>getNetuiTagName( tagId, tag 
)</code>.  For example, 
+     * assume that there is a &lt;netui:form> whose 
+     * tagId attribute is set to <code>bar</code>.
+     *  
+     * <pre>    &lt;netui:form <b>tagId="bar"</b> ></pre>
+     * 
+     * <p>Then the following JavaScript function will return the 
&lt;netui:form> element 
+     * and its children (packaged as an array).
+     *
+     * <pre>    document[getNetuiTagName( "bar", this )]</pre>
+     *
+     * <p>To retreive the value entered into a &lt;netui:textBox> within the 
&lt;netui:form> tag, use the following
+     * JavaScript expression. 
+     *
+     * <pre>    document[getNetuiTagName("bar", this)][getNetuiTagName("foo", 
this)].value</pre>
+     * 
+     * <p>The second parameter ensures that the JavaScript function 
+     * begins its search within the correct Portlet scope.  Pass the 
+     * JavaScript keyword <code>this</code> as the second parameter.
+     * 
+     * For detailed information on using the function 
+     * <code>getNetuiTagName( tagId, tag )</code> see 
+     * <a href="[EMAIL 
PROTECTED]/../guide/netui/guide/conUsingJavaScript.html">
+     * Using JavaScript in Page Flow and Portal Applications</a>.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tagId</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="general"
      */
@@ -127,6 +184,17 @@
      * dataSource</code> and provide the input value on the select box.
      * @param dataInput the value of the input to the page.  This value
      *                  may contain an expression.
+     * @jsptagref.attributedescription
+     * The dataInput attribute overrides the dataSource attribute for the 
input of the value. 
+     * It allows a &lt;netui:hidden> tag to read it's value from one place 
(whatever is referenced by
+     * the <code>dataInput</code> attribute) and return the value to a new 
destination (whatever is 
+     * referenced by the <code>dataSource</code> attribute).
+     * This attribute may take a String literal or a data binding expression.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_dataInput</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" 
type="java.lang.Object"
      * @netui.tldx:attribute
      */
@@ -251,6 +319,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * rendered HTML tag in the sequence of tags that the user may advance 
through by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Image.java
   Thu Jul 22 12:05:26 2004
@@ -78,6 +78,9 @@
  *
  * </table>
  * </p>
+ * @jsptagref.tagdescription
+ * Renders an &lt;image> tag with the specified attributes
+ * 
  * @example In this sample, an Image shows "friends.jpg" at 150 x 175 pixels, 
with the id "Friends".
  * <pre>&lt;netui:image src="friends.jpg" id="Friends" height="150" 
width="175" /></pre>
  *
@@ -135,6 +138,13 @@
     /**
      * Sets the property to specify where to align the image.
      * @param align - the image alignment.
+     * @jsptagref.attributedescription
+     * The alignment of the image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_align</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -147,6 +157,13 @@
     /**
      * Sets the property to specify the alt text of the image.
      * @param alt - the image alignment.
+     * @jsptagref.attributedescription
+     * The alternative text of the image
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -170,6 +187,13 @@
     /**
      * Sets the border size around the image.
      * @param border - the border size.
+     * @jsptagref.attributedescription
+     * The border size around the image
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_pixelBorder</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -182,6 +206,13 @@
     /**
      * Sets the image height.
      * @param height - the height.
+     * @jsptagref.attributedescription
+     * The image height
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_height</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -194,6 +225,13 @@
     /**
      * Sets the the horizontal spacing around the image.
      * @param hspace - the horizontal spacing.
+     * @jsptagref.attributedescription
+     * The horizontal spacing around the image.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_hspace</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -206,6 +244,13 @@
     /**
      * Sets the server-side image map declaration.
      * @param ismap - the image map declaration.
+     * @jsptagref.attributedescription
+     * The server-side map declaration.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_isMap</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -218,6 +263,13 @@
     /**
      * Sets the location hash to append to the url.
      * @param location - the location hash.
+     * @jsptagref.attributedescription
+     * The location hash to append to the URL.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_location</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -229,6 +281,13 @@
     /**
      * Sets the image source URI.
      * @param src - the source URI.
+     * @jsptagref.attributedescription
+     * The image source URI
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_src</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"  
reftype="img-url"
      */
@@ -241,6 +300,13 @@
    /**
      * Sets the client-side image map declaration.
      * @param usemap - the map declaration.
+     * @jsptagref.attributedescription
+     * The client-side image map declaration
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_useMap</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -252,6 +318,13 @@
     /**
      * Sets the vertical spacing around the image.
      * @param vspace - the vertical spacing.
+     * @jsptagref.attributedescription
+     * The vertical spacing around the image.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_vspace</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -263,6 +336,13 @@
     /**
      * Sets the image width.
      * @param width - the image width.
+     * @jsptagref.attributedescription
+     * The image width.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_pixelWidth</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageAnchor.java
     Thu Jul 22 12:05:26 2004
@@ -97,52 +97,69 @@
  *
  * </table>
  * </p>
- * @example In this sample, an ImageAnchor shows "top.jpg" at 25 x 25 pixels 
and navigates to index.jsp when clicked.
- * <pre>&lt;netui:imageAnchor href="index.jsp" src="top.jpg" height="25" 
width="25" /&gt;</pre>
- * </p>
+ * @jsptagref.tagdescription
+ * <p>
+ * Generates a hyperlink with a clickable image.  Provides support for image 
rollovers.
+ * <p>
+ * The &lt;netui:imageAnchor> tag must have one of five attributes to 
correctly create the hyperlink:
+ * <blockquote>
+ * <ul>
+ * <li><code>action</code> - an action method invoked by clicking the 
hyperlink</li>
+ * <li><code>forward</code> - a forward to redirect to</li>
+ * <li><code>href</code> - an URL to go to</li>
+ * <li><code>linkName</code> - an internal place in the page to move to</li>
+ * <li><code>page</code> - the module-relative page URL to which this 
hyperlink will be rendered</li>
+ * </ul>
+ * </blockquote>
+ * 
  * <p><b>JavaScript</b></p>
- * <p>If an ImageAnchor sets the <code>formSubmit</code> attribute to 
<code>true</code> and no
- * <code>onClick</code> attribute is set, the following JavaScript will be 
written into the page,
- * referenced by the <code>onclick</code> attribute of the generated image 
anchor, and will cause
- * the form to submit:<br/>
- * <pre>
- * function submit[formname][formAction]Form() {
- *   for(var i=0; i&lt;document.forms.length; i++) {
- *     if (document.forms[i].action == "[formAction]") {
- *       document.forms[i].method="POST";
- *       document.forms[i].action="[formAction]";
- *       document.forms[i].submit();
- *     }
- *   }
- * }
+ * <p>If an &lt;netui:imageAnchor> sets the <code>formSubmit</code> attribute 
to <code>true</code> and no
+ * <code>onClick</code> attribute is set, the following JavaScript function 
will be written into the page.
+ * The JavaScript function will be referenced by the <code>onclick</code> 
attribute of the generated image 
+ * anchor, and will cause the parent form to submit:<br/>
+ * <pre>    function submit[formname][formAction]Form() {
+ *      for(var i=0; i&lt;document.forms.length; i++) {
+ *        if (document.forms[i].id == "[formAction]") {
+ *          document.forms[i].method = "POST";
+ *          document.forms[i].action = "[formAction]";
+ *          document.forms[i].submit(); 
+ *        } 
+ *      } 
+ *    }
  * </pre>
  * <p>It is possible to write a custom <code>onClick</code> JavaScript event 
handler that would
- * do additional work, for example form validation, and still POST the form 
correctly.  To
- * accomplish this, implement a JavaScript method like that set in the 
<code>onClick</code>
- * attribute of the image anchor tag as:</p>
- * <pre>
- * &lt;netui:imageAnchor formSubmit="true" onClick="SubmitFromAnchor(); return 
false;"&gt;View Results&lt;/netui:imageAnchor&gt;
- * </pre>
- * <p>And add JavaScript to the page. For example:</p>
- * <pre>
- * function SubmitFromAnchor()
- * {
- *   // implement custom logic here
- *
- *   for(var i=0; i&lt;document.forms.length; i++)
- *   {
- *     // submit to the action /aWebapp/formPost.do
- *     if (document.forms[i].action == "/aWebapp/formPost.do")
- *     {
- *       document.forms[i].method="POST";
- *       document.forms[i].action="/aWebapp/formPost.do";
- *       document.forms[i].submit();
- *     }
- *   }
- * }
- * </pre>
- * <p>This will execute JavaScript code to execute before posting the form.</p>
+ * do additional work, for example form validation, and still submit the form 
correctly.  To
+ * accomplish this, reference a JavaScript function in the <code>onClick</code>
+ * attribute:</p>
+ * <pre>    &lt;netui:imageAnchor formSubmit="true" 
<b>onClick="SubmitFromAnchor();return false;"</b>&gt;
+ *        View Results
+ *    &lt;/netui:imageAnchor&gt;</pre>
+ *    
+ * <p>And add the referenced JavaScript function to the page:</p>
+ * <pre>    function SubmitFromAnchor() 
+ *    { 
+ *        // implement custom logic here
  *
+ *        for(var i=0; i&lt;document.forms.length; i++) 
+ *        { 
+ *            // submit to the action /aWebapp/formPost.do
+ *            if (document.forms[i].action == "/aWebapp/formPost.do") 
+ *            { 
+ *                document.forms[i].method="POST"; 
+ *                document.forms[i].action="/aWebapp/formPost.do"; 
+ *                document.forms[i].submit(); 
+ *            } 
+ *        } 
+ *    }</pre>
+ *    
+ * <p>This will cause the JavaScript function to be executed before posting 
the form.</p>
+ * 
+ * @example 
+ * In this sample, an &lt;netui:imageAnchor> shows "top.jpg" at 25 x 25 pixels 
and navigates to 
+ * index.jsp when clicked.
+ * <pre>    &lt;netui:imageAnchor href="index.jsp" src="top.jpg" height="25" 
width="25" /&gt;</pre>
+ * </p>
+ * 
  * @netui:tag name="imageAnchor" description="Combines the functionality of 
the netui:image and netui:anchor tags."
  * @netui.tldx:tag requiredchild="parameter parameterMap attribute"
  * renderer="workshop.netui.jspdesigner.tldx.ImageAnchorRenderer"
@@ -195,6 +212,13 @@
     /**
      * Sets the property to specify where to align the image.
      * @param align - the image alignment.
+     * @jsptagref.attributedescription
+     * The alignment of the image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_align</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -206,6 +230,13 @@
     /**
      * Sets the property to specify the alt text of the image.
      * @param alt - the image alignment.
+     * @jsptagref.attributedescription
+     * The alternative text of the image
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -231,6 +262,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code> 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      */
     public void setAccessKey(char accessKey)
@@ -241,6 +282,13 @@
     /**
      * Sets the border size around the image.
      * @param border - the border size.
+     * @jsptagref.attributedescription
+     * The border size around the image
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_pixelBorder</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -252,6 +300,13 @@
     /**
      * Sets the image height.
      * @param height - the height.
+     * @jsptagref.attributedescription
+     * The image height
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_height</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -263,6 +318,13 @@
     /**
      * Sets the the horizontal spacing around the image.
      * @param hspace - the horizontal spacing.
+     * @jsptagref.attributedescription
+     * The horizontal spacing around the image.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_hspace</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -274,6 +336,13 @@
     /**
      * Sets the server-side image map declaration.
      * @param ismap - the image map declaration.
+     * @jsptagref.attributedescription
+     * The server-side map declaration.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_isMap</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -285,6 +354,13 @@
     /**
      * Sets the roll-over image of the ImageAnchor.
      * @param rolloverImage - the rollover image.
+     * @jsptagref.attributedescription
+     * The URI of the rollover image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_rolloverImage</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"
      */
@@ -296,6 +372,13 @@
     /**
      * Sets the image source URI.
      * @param src - the image source URI.
+     * @jsptagref.attributedescription
+     * The image source URI
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_src</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"
      * reftype="img-url"
@@ -309,6 +392,13 @@
     /**
      * Sets the client-side image map declaration.
      * @param usemap - the map declaration.
+     * @jsptagref.attributedescription
+     * The client-side image map declaration
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_useMap</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -320,6 +410,13 @@
    /**
      * Sets the vertical spacing around the image.
      * @param vspace - the vertical spacing.
+     * @jsptagref.attributedescription
+     * The vertical spacing around the image.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_vspace</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -359,6 +456,13 @@
     /**
      * Sets the image width.
      * @param width - the image width.
+     * @jsptagref.attributedescription
+     * The image width.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_pixelWidth</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ImageButton.java
     Thu Jul 22 12:05:26 2004
@@ -68,18 +68,26 @@
  *
  * </table>
  * </p>
- * @example In this sample, an ImageButton shows "house.jpg", and 
"house_highlight.jpg" upon mouseover
- * of the image. When clicked, the ImageButton will invoke the action 
specified on the
- * &lt;netui:form> that contains it.
- * <pre>&lt;netui:imageButton rolloverImage="house_highlight.jpg" 
src="house.jpg" /></pre>
- *
+ * @jsptagref.tagdescription
+ * Renders an <code>&lt;input type="image"></code> tag with the specified 
attributes.
+ * 
  * <p><b>JavaScript</b></p>
- * <p>If the ImageButton has a rolloverImage, the following javascript will be 
written:</p>
- * <pre>
- * function swapImage(control, image) <br>{<br>
- * &nbsp;&nbsp;control.src = image;<br>}<br>
- * </pre>
- *
+ * <p>If the &lt;netui:imageButton> specifies
+ * a <code>rolloverImage</code> attribute, the following JavaScript will be 
written to the page:</p>
+ * <pre>    function swapImage(control, image) 
+ *    {
+ *        control.src = image;
+ *    }</pre>
+ * 
+ * @example 
+ * In this sample, an &lt;netui:imageButton> tag displays the image 
"house.jpg".
+ * On mouseover, the image "house_highlight.jpg" is displayed.
+ * When clicked, the &lt;netui:imageButton> will invoke the action specified 
by its parent 
+ * &lt;netui:form> tag.
+ * <pre>    &lt;netui:form action="formSubmit">
+ *         &lt;netui:imageButton rolloverImage="house_highlight.jpg" 
src="house.jpg" />
+ *     &lt;/netui:form></pre>
+ * 
  * @netui:tag name="imageButton" description="Combines the functionality of 
the netui:image and netui:button tags."
  * @netui.tldx:tag requiredchild="attribute"
  * renderer="workshop.netui.jspdesigner.tldx.ImageButtonRenderer"
@@ -142,6 +150,13 @@
     /**
      * Sets the property to specify where to align the image.
      * @param align - the image alignment.
+     * @jsptagref.attributedescription
+     * The alignment of the image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_align</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -156,6 +171,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      * @netui.tldx:attribute
      */
@@ -167,6 +192,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * rendered HTML tag in the sequence of tags that the user may advance 
through by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */
@@ -200,6 +233,13 @@
     /**
      * Sets the property to specify the alt text of the image.
      * @param alt - the image alt text.
+     * @jsptagref.attributedescription
+     * The alternative text of the image
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */
@@ -210,6 +250,13 @@
     /**
      * Sets the roll-over image of the ImageAnchor.
      * @param rolloverImage - the rollover image.
+     * @jsptagref.attributedescription
+     * The URI of the rollover image.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_rolloverImage</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"
      */
@@ -221,6 +268,13 @@
     /**
      * Sets the image source URI.
      * @param src - the source URI.
+     * @jsptagref.attributedescription
+     * The image source URI
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_src</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute 
propertyclass="workshop.jspdesigner.properties.URIPropertyClass"
      * reftype="img-url"
@@ -234,6 +288,13 @@
     /**
      * Set the value of the ImageButton.
      * @param value - the value of the ImageButton.
+     * @jsptagref.attributedescription
+     * <b>This attribute has been deprecated.</b> The value of the image 
button.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_value</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Label.java
   Thu Jul 22 12:05:26 2004
@@ -66,20 +66,56 @@
  *
  * <p>If the resulting value to be output is the <nobr>" "</nobr> String, it 
will output as
  * the value <nobr><code>"&amp;nbsp;"</code></nobr>.</p>
- * @example In this first sample, a Label displays the form bean's firstName 
property.
- * <pre>&lt;netui:label value="{actionForm.firstName}" /></pre>
- *
- * <p>In this next sample, the HTML in the rendered JSP will contain the text
- * "&amp;nbsp;" and the user will see ' '.</p>
- * <pre>&lt;netui:label value="{pageFlow.somethingNull}" 
defaultValue="&amp;nbsp;"/></pre>
- *
- * <p>In this next sample, the HTML will contain the text "&amp;nbsp;" and the 
user will
+ * @jsptagref.tagdescription
+ * <p>Generates styled text based on a String literal or data binding 
expression.
+ * 
+ * <p>The &lt;netui:label> tag is similar to the [EMAIL PROTECTED] Content} 
tag, 
+ * except with respect to the way that it treats 
+ * characters sensitive to HTML browsers.  
+ * The &lt;netui:label> tag filters the input string for browser-sensitive 
characters
+ * and replaces these characters 
+ * with the corresponding entity strings.  For example, if you pass the 
+ * string '&amp;amp;' to a &lt;netui:label> tag, the string '&amp;amp;amp;' 
will be written to
+ * the HTML source file, and the following will be displayed
+ * in the browser: '&amp;amp;'.
+ * 
+ * <p>The following table shows how the &lt;netui:label> and 
&lt;netui:content> tags treat HTML-sensitive characters.
+ * <blockquote>
+ *      <table border="1">
+ *          <tr>
+ *              <td width="30%"><b>tag</b></td>
+ *              <td width="30%"><b>generated HTML source</b></td>
+ *              <td width="30%"><b>displayed in browser</b></td>
+ *          </tr>
+ *          <tr>
+ *              <td>&lt;netui:content value="&amp;amp;"/></td>
+ *              <td>&amp;amp;</td>
+ *              <td>&</td>
+ *          </tr>
+ *          <tr>
+ *              <td>&lt;netui:label value="&amp;amp;"/></td>
+ *              <td>&amp;amp;amp;</td>
+ *              <td>&amp;amp;</td>
+ *          </tr>
+ *      </table>
+ * </blockquote>
+ * 
+ * <p><b>Note:</b> escaping is <i>not</i> applied to browser-sensitive 
characters in
+ * the <code>defaultValue</code> attribute. 
+ * 
+ * @example 
+ * In this first sample, a &lt;netui:label> tag displays the Form Bean's 
firstName property.
+ * The &lt;netui:label> tag will resolve this data binding expression, and 
display its value. 
+ * 
+ * <pre>    &lt;netui:label value="{actionForm.firstName}" /></pre>
+ * 
+ * <p>In this next sample, the <code>value</code> attribute will resolve to 
null.
+ * This causes the <code>defaultValue</code> to be displayed.  The user will 
see '&nbsp;'.</p>
+ * <pre>    &lt;netui:label value="{pageFlow.somethingNull}" 
defaultValue="&amp;nbsp;"/></pre>
+ * 
+ * <p>In this next sample, the HTML will contain the text "&amp;amp;nbsp;" and 
the user will
  * see '&amp;nbsp;'</p>
- * <pre>&lt;netui:label value="{pageFlow.somethingNull}" 
defaultValue="&amp;amp;nbsp;"/></pre>
- *
- * <p>In the next sample, if the read-only data binding expression 
<code>pageFlow.someString</code> returns
- * the value " " then the HTML will contain the value "&amp;nbsp;" and the 
user will see ' '.</p>
- * <pre>&lt;netui:label value="{pageFlow.someString}" /></pre>
+ * <pre>    &lt;netui:label value="{pageFlow.somethingNull}" 
defaultValue="&amp;amp;nbsp;"/></pre>
  * 
  * @netui:tag name="label" description="Places formatted or dynamically 
generated text on the page."
  * @netui.tldx:tag requiredchild="formatDate formatNumber formatString 
attribute"

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Parameter.java
       Thu Jul 22 12:05:26 2004
@@ -44,13 +44,25 @@
  *
  * </table>
  * </p>
- * @example In this sample, a parameter enclosed by a <code>URLParams</code> 
tag
- * will add to the enclosing tag's URL with the name-value pair of 
<code>numberToShow</code> and
- * the value of the <code>currentNumber</code> property in the page flow.
- * <pre>&lt;netui:parameter name="numberToShow" 
value="{pageFlow.currentNumber}" /></pre>
+ * @jsptagref.tagdescription
  * 
- * @see ParameterMap
+ * Writes a name/value pair to the URL or the parent tag.
+ * 
+ * You can dynamically determine the value of the &lt;netui:parameter> through
+ * the <code>value</code> attribute.  
+ * 
+ * @example 
+ * In this sample, the hyperlink is amended with the parameter 
<code>q=Socrates</code>
+ * 
+ * <pre>      &lt;netui:anchor href="http://www.google.com/search";>
+ *          Search Google with the query "Socrates"
+ *          &lt;netui:parameter name="q" value="Socrates" />
+ *      &lt;/netui:anchor></pre>
  *
+ * The URL produced appears below:
+ * 
+ * <pre>      http://www.google.com/search?q=Socrates</pre>
+ * 
  * @netui:tag name="parameter" description="Writes a URL parameter to a URL on 
its parent tag."
  * @netui.tldx:tag requiredparent="anchor button form image imageAnchor 
datagrid:anchorColumn data:anchorColumn";
  * requiredchild="#nothing"
@@ -75,6 +87,13 @@
     /**
      * Sets the name of the URL parameter.
      * @param name - the parameter name.
+     * @jsptagref.attributedescription
+     * The name of the parameter.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setName(String name)
@@ -85,6 +104,13 @@
     /**
      * Sets the value of the URL parameter.  This can be an expression.
      * @param value - the parameter value.
+     * @jsptagref.attributedescription
+     * The value of the parameter.  May be a literal or a data binding 
expression.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true" 
type="java.lang.Object"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ParameterMap.java
    Thu Jul 22 12:05:26 2004
@@ -43,14 +43,39 @@
  *
  * </table>
  * </p>
- * @example In this sample, a ParameterMap enclosed by a 
<code>URLParams</code> tag
- * gets its parameters from the page flow's <code>parameterHashMap</code> 
property (a Map),
- * and will add to the enclosing tag's URL parameters with the 
parameterHashMap's name-value
- * pairs.
- * <pre>&lt;netui:parameterMap map="{pageFlow.parameterHashMap}" /></pre>
+ * @jsptagref.tagdescription
+ * <p>Writes a group of name/value pairs to the URL or the parent tag.
  * 
- * @see Parameter
+ * <p>The &lt;netui:parameterMap> can be nested inside of the 
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Anchor},
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Button},
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Form}, and
+ * [EMAIL PROTECTED] com.bea.wlw.netui.tags.html.Image} tags.
+ * 
+ * <p>You can dynamically determine the value of the &lt;netui:parameterMap> 
tag by pointing
+ * the <code>map</code> attribute at a [EMAIL PROTECTED] java.util.HashMap 
java.util.HashMap} object.
  *
+ * @example 
+ * Assume that there is a java.util.HashMap 
+ * object in the Controller file.
+ * 
+ * <pre>      public HashMap hashMap = new HashMap();
+ *      hashMap.put("q", "Socrates");
+ *      hashMap.put("lr", "lang_el");
+ *      hashMap.put("as_qdr", "m3");</pre>
+ * 
+ * <p>The following set of tags will read the HashMap object and generate a 
+ * link with a set of URL parameters.  
+ *          
+ * <pre>      &lt;netui:anchor href="http://www.google.com/search";>
+ *          Search Greek language web sites updated in the last three months 
with the query "Socrates".
+ *          &lt;netui:parameterMap map="{pageFlow.hashMap}"/>
+ *      &lt;/netui:anchor></pre>
+ *      
+ * <p>The URL produced appears as follows:
+ * 
+ * <pre>      
http://www.google.com/search?lr=lang_el&q=Socrates&as_qdr=m3</pre>
+ * 
  * @netui:tag name="parameterMap" description="Provides a read-only XScript 
expression that points to a map of parameters. Each entry in the map provides a 
URL parameter that will be added to the parent tag's URL."
  * @netui.tldx:tag requiredparent="anchor button form image imageAnchor 
data:anchorColumn";
  * requiredchild="#nothing"
@@ -74,6 +99,17 @@
     /**
      * Sets the map expression.
      * @param map - the map expression.
+     * @jsptagref.attributedescription
+     * A data binding expression pointing to a [EMAIL PROTECTED] java.util.Map 
java.util.Map} of parameters.
+     * The expression can point at any implementation of the java.util.Map 
interface,
+     * including [EMAIL PROTECTED] java.util.AbstractMap 
java.util.AbstractMap}, 
+     * [EMAIL PROTECTED] java.util.HashMap java.util.HashMap}, 
+     * [EMAIL PROTECTED] java.util.Hashtable java.util.Hashtable}, etc.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_mapObject</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true" type="java.util.Map"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
        Thu Jul 22 12:05:26 2004
@@ -62,17 +62,114 @@
  *
  * </table>
  * </p>
- * @example In this sample, a RadioButtonGroup has a set of RadioButtonOptions 
drawn from the
- * page flow's paymentTypes, uses the page flow's defaultPaymentType as a 
default if
- * no paymentType has been selected, and writes the selected paymentType to 
the form
- * bean's selectedPaymentType property.
- * <pre>&lt;netui:radioButtonGroup 
dataSource="{actionForm.selectedPaymentType}"
- *      defaultValue="{pageFlow.defaultPaymentType}"
- *      optionsDataSource="{pageFlow.paymentTypes} />
- * </pre>
+ * @jsptagref.tagdescription
+ * Renders a collection of radiobutton options 
+ * and handles the data binding of their values.
  * 
- * @see RadioButtonOption
+ * <p>The &lt;netui:radioButtonGroup> tag can generate a set of 
+ * radiobutton options in two ways:
+ * 
+ * <blockquote>
+ * <ol>
+ * <li>they can be dynamically generated by pointing the 
+ * &lt;netui:radioButtonGroup> tag at a [EMAIL PROTECTED] java.util.HashMap 
java.util.HashMap}
+ * or String[] object</li>
+ * <li>they can be statically generated by providing a set of children 
+ * [EMAIL PROTECTED] RadioButtonOption}
+ * tags</li>
+ * </ol>
+ * </blockquote>
+ * 
+ * <p><b>Dynamically Generated Radiobutton Options</b>
+ * 
+ * <p>You can dynamically generate a set of radionbutton options by
+ * pointing the &lt;netui:radioButtonGroup> tag at a HashMap 
+ * (or any object that implements the [EMAIL PROTECTED] java.util.Map 
java.util.Map} interface).
+ * 
+ * <pre>      public HashMap hashMap = new HashMap();
+ *      hashMap.put("value1", "Display Text 1");
+ *      hashMap.put("value2", "Display Text 2");
+ *      hashMap.put("value3", "Display Text 3");</pre>
+ *      
+ * <p>To point the &lt;netui:radioButtonGroup>
+ * at the Map object use the <code>optionsDataSource</code> attribute.
+ * 
+ * <pre>     &lt;netui:radioButtonGroup
+ *          optionsDataSource="{pageFlow.hashMap}"></pre>
+ *          
+ * <p>In the generated radiobutton options, the display text and the 
+ * submitted value can be made to differ.  The HashMap keys will 
+ * form the submitted values, while the HashMap entries will form
+ * the display texts.  
+ * 
+ * <pre>     &lt;input type="radio" value="value1">Display Text 1&lt;/input>
+ *     &lt;input type="radio" value="value2">Display Text 2&lt;/input>
+ *     &lt;input type="radio" value="value3">Display Text 3&lt;/input></pre>
+ * 
+ * <p>Note that you can point the &lt;netui:radioButtonGroup> tag at a 
+ * String[] object.  A set of radiobutton options will be generated, 
+ * but there will be no difference between the 
+ * display texts and the submitted values.
+ * 
+ * <p><b>Statically Generated Radiobutton Options</b></p>
+ * 
+ * <p>To statically generate radiobutton options, place a set of 
&lt;netui:radioButtonOption> tags inside
+ * the &lt;netui:radioButtonGroup> tag.
+ * 
+ * <pre>    &lt;netui:radioButtonGroup dataSource="{actionForm.selection}">
+ *        &lt;netui:radioButtonOption value="value1">Display Text 
1&lt;/netui:radioButtonOption>&lt;br>
+ *        &lt;netui:radioButtonOption value="value2">Display Text 
2&lt;/netui:radioButtonOption>&lt;br>
+ *        &lt;netui:radioButtonOption value="value3">Display Text 
3&lt;/netui:radioButtonOption>&lt;br>
+ *    &lt;/netui:radioButtonGroup></pre>
+ *   
+ * <p><b>Submitting Radionbutton Options</b></p>
+ * 
+ * <p>A &lt;netui:radioButtonGroup> is submitted as a String value.  Use the 
<code>dataSource</code> attribute
+ * to submit to a String object.
+ * 
+ * <pre>     &lt;netui:radioButtonGroup 
dataSource="{actionForm.selection}"></pre>
+ * 
+ * <p>In this case, the &lt;netui:radioButtonGroup> submits to a String field 
of a Form Bean.
+ * 
+ * <pre>     public static class ProcessDataForm extends FormData
+ *     {
+ *         private String selection;
+ *      
+ *         public void setSelection(String selection)
+ *         {
+ *             this.selection = selection;
+ *         }
+ *
+ *         public String getSelection()
+ *         {
+ *             return this.selection;
+ *         }
+ *     }</pre>
+ * 
+ * @example 
+ * In this sample, a &lt;netui:radioButtonGroup> tag draws a set of options 
from a HashMap object. 
+ * <pre>         &lt;netui:radioButtonGroup
+ *          optionsDataSource="{pageFlow.hashMap}"
+ *          dataSource="{actionForm.selection}" /></pre>
+ * 
+ * Assuming that the <code>optionsDataSource</code> attribute refers to the 
following HashMap object...
+ * 
+ * <pre>     public HashMap hashMap = new HashMap();
+ *     protected void onCreate()
+ *     {
+ *         hashMap.put("value1", "Display Text 1");
+ *         hashMap.put("value2", "Display Text 2");
+ *         hashMap.put("value3", "Display Text 3");
+ *     }</pre>
  *
+ * ...then the following HTML will be generated in the browser...
+ * 
+ * <pre>     &lt;netui:radioButtonGroup dataSource="{actionForm.selection}">
+ *        &lt;netui:radioButtonOption value="value1">Display Text 
1&lt;/netui:radioButtonOption>&lt;br>
+ *        &lt;netui:radioButtonOption value="value2">Display Text 
2&lt;/netui:radioButtonOption>&lt;br>
+ *        &lt;netui:radioButtonOption value="value3">Display Text 
3&lt;/netui:radioButtonOption>&lt;br>
+ *    &lt;/netui:radioButtonGroup></pre>
+ * 
  * @netui:tag name="radioButtonGroup" description="Defines a group of 
netui:radioButtonOption elements."
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.RadioButtonGroupRenderer" 
whitespace="indent"
  */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
       Thu Jul 22 12:05:26 2004
@@ -47,12 +47,22 @@
  *
  * </table>
  * </p>
- * @example In this sample, a RadioButtonOption (within a RadioButtonGroup) 
displays a label of
- * Credit Card and reads its value from the page flow's paymentOption1 
property.
- * <pre>&lt;netui:radioButtonOption value="{pageFlow.paymentOption1}">Credit
- * Card&lt;/netui:radioButtonOption></pre>
+ * @jsptagref.tagdescription
+ * Generates a single radiobutton option in a group of options.
  * 
- * @see RadioButtonGroup
+ * <p>The &lt;radioButtonOption> tag must have a parent [EMAIL PROTECTED] 
RadioButtonGroup} tag.
+ * 
+ * @example 
+ * In this example, three radiobuttons are generated in the browser.
+ * 
+ * <pre>    &lt;netui:form action="processData">
+ *        &lt;netui:radioButtonGroup dataSource="{actionForm.selection}">
+ *            &lt;netui:radioButtonOption value="value1">Display Text 
1&lt;/netui:radioButtonOption>&lt;br>
+ *            &lt;netui:radioButtonOption value="value2">Display Text 
2&lt;/netui:radioButtonOption>&lt;br>
+ *            &lt;netui:radioButtonOption value="value3">Display Text 
3&lt;/netui:radioButtonOption>&lt;br>
+ *        &lt;/netui:radioButtonGroup>    
+ *        &lt;netui:button value="Submit" />
+ *    &lt;/netui:form></pre>
  *
  * @netui:tag name="radioButtonOption" description="A radio button whose state 
is determined by its enclosing netui:RadioButtonGroup."
  * @netui.tldx:tag requiredparent="radioButtonGroup td"
@@ -112,6 +122,13 @@
      * Set the label style for each contained RadioButtonOption.
      * The label style here will override a labelStyle at the RadioButtonGroup 
level.
      * @param labelStyle - the label style
+     * @jsptagref.attributedescription
+     * The style of the label for each contained &lt;netui:radioButtonOption> 
tag.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_labelStyle</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="format" 
propertyclass="workshop.jspdesigner.properties.JspStyleProperty"
      */
@@ -124,6 +141,13 @@
      * Set the label style class for each contained RadioButtonOption.
      * The label style class here will override a labelStyleClass at the 
RadioButtonGroup level.
      * @param labelStyleClass - the label style
+     * @jsptagref.attributedescription
+     * The class of the labels for each contained &lt;netui:radioButtonOption> 
tag. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_class</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="format"
      */
@@ -135,6 +159,13 @@
     /**
      * Set the value of this RadioButtonOption.
      * @param value - the RadioButtonOption value
+     * @jsptagref.attributedescription
+     * A literal or data binding expression.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true" 
type="java.lang.Object"
      * @netui.tldx:attribute
      */
@@ -287,6 +318,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -298,6 +339,13 @@
     /**
      * Sets the alt attribute value.
      * @param alt - the alt value.
+     * @jsptagref.attributedescription
+     * The alt attribute of the element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="misc"
      */
@@ -309,6 +357,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteName.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteName.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteName.java
     Thu Jul 22 12:05:26 2004
@@ -42,14 +42,24 @@
  * under this name.</td></tr>
  * </table>
  * </p>
- * @example In this sample, we are creating an HTML span and setting the id 
attribute to 'foo'.  The
- * actual value that will be output may change depending on the container 
processing the
- * request.  The value 'foo' can be passed to <code>getNetuiTagName</code> to 
find the real
- * value of the id attribute.
- * <pre>&lt;span id="&lt;netui:rewriteName name="foo"/&gt;"&gt;</pre>
+ * @jsptagref.tagdescription
+ * Allows a name, typically either an <code>id</code> or <code>name</code> 
attribute, 
+ * to participate in URL
+ * rewritting.  Some containers such as WebLogic Portal rewrite name 
attributes 
+ * so they are unique.
+ * This tag will cause the name to be made available from the 
<code>getNetuiTagName( tagId, tag )</code>
+ * JavaScript function.
+ * 
+ * @example 
+ * In this sample, we are settting the id attribute of the span tag to 'foo'.  
The
+ * actual value that will be rendered in the HTML may change depending on the 
+ * container where the web application resides.  For example, a Portal 
container may change
+ * render &lt;span name="scope1_foo"> instead of &lt;span name="scope1_foo">.  
+ * But the value 'foo' can be passed to <code>getNetuiTagName( tagId, tag 
)</code> to find the rendered
+ * value of the name attribute.
+ * 
+ * <pre>    &lt;span id="&lt;netui:rewriteName name="foo"/&gt;"&gt;</pre> 
  * 
- * @see RewriteURL
- *
  * @netui:tag name="rewriteName" description="Allows the URL Rewriter to 
rewrite the name attribute before it is output into the HTML stream."
  * @netui.tldx:tag requiredchild="#nothing"
  * renderer="workshop.netui.jspdesigner.tldx.RewriteNameRenderer"
@@ -73,6 +83,13 @@
     /**
      * Sets the name to be rewritten.
      * @param name - the parameter name.
+     * @jsptagref.attributedescription
+     * The name which will be rewritten. This value will be output to the page 
rendered in the browser and may be looked up using 'name'.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setName(String name)
@@ -84,6 +101,13 @@
      * Sets the resultId which, if non-null, will store the real name
      * in the page context under the resultId name;
      * @param resultId - the parameter name.
+     * @jsptagref.attributedescription
+     * A name that will cause the real name to be stored into the page context 
under this name.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_resultId</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setResultId(String resultId)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteURL.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteURL.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RewriteURL.java
      Thu Jul 22 12:05:26 2004
@@ -44,14 +44,21 @@
  * <tr><td colspan="3">The value of the URL that will be rewritten.</td></tr>
  *
  * </table>
- * @example In this sample, we are creating an HTML span and setting the id 
attribute to 'foo'.  The
- * actual value that will be output may change depending on the container 
processing the
- * request. The value 'foo' can be passed to <code>getNetuiTagName</code> to 
find the real
- * value of the id attribute.
- * <pre>&lt;span id="&lt;netui:rewriteURL URL="foo"/&gt;"&gt;</pre>
+ * @jsptagref.tagdescription
+ * Allows a tag name, typically either an id or name attribute, to participate 
in URL
+ * rewritting.  Some containers such as WebLogic Portal rewrite names so they 
are unique.
+ * This tag will cause the name to be made available from the 
<code>getNetuiTagName( tagId, tag )</code>
+ * JavaScript function (which is written to the page by the &lt;netui:html&gt; 
tag).
+ * 
+ * @example 
+ * In this sample, the id attribute of a &lt;span> tag is set to 'foo'.  The
+ * actual value that will be written to the rendered HTML may change depending 
+ * on the application container. (Portal containers sometimes rewrite the id 
attributes
+ * to ensure their uniqueness.) But the value 'foo' can be passed to 
+ * <code>getNetuiTagName( tagId, tag )</code> to find the 
+ * value of the id attribute actually rendered in the browser.
+ * <pre>    &lt;span id="&lt;netui:rewriteURL URL="foo"/&gt;"&gt;</pre>
  * 
- * @see RewriteName
- *
  * @netui:tag name="rewriteURL" description="Allows the URL Rewriter to 
rewrite the url attribute before it is output into the HTML stream."
  * @netui.tldx:tag requiredchild="#nothing"
  * renderer="workshop.netui.jspdesigner.tldx.RewriteURLRenderer"
@@ -73,6 +80,13 @@
     /**
      * Sets the name to be rewritten.
      * @param url - the parameter name.
+     * @jsptagref.attributedescription
+     * The value of the URL that will be rewritten.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_url</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setURL(String url)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ScriptContainer.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ScriptContainer.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ScriptContainer.java
 Thu Jul 22 12:05:26 2004
@@ -47,6 +47,23 @@
  * <tr><td colspan="3">The ID that is associated with the code 
methods.</td></tr>
  * </table>
  * </p>
+ * @jsptagref.tagdescription
+ * Acts as a container that will bundle up JavaScript created by other 
&lt;netui...> tags,
+ * and outputs it within a single &lt;script> tag. This is especially useful 
for
+ * Portal web applications, because they often cannot rely on having
+ * &lt;html> ... &lt;/html> tags to provide a default container. In a Portlet,
+ * some JSP pages might be included in other JSP pages. Having redundant
+ * &lt;html> ... &lt;/html> tags in the rendered Portlet JSP can result in 
display
+ * problems for some browsers. On the other hand, omitting the &lt;html> tag 
(and the
+ * container it provides) can result in cluttered code, especially where 
JavaScript
+ * appears in the file. To solve this issue, WebLogic Workshop provides the
+ * &lt;netui:scriptContainer> tag.
+ * 
+ * <p>The &lt;netui:scriptContainer> ... &lt;/netui:scriptContainer> tag set 
should
+ * enclose those &lt;netui:...> tags that you want included in the script 
container.
+ * The first &lt;netui:scriptContainer> tag should appear after the JSP's 
&lt;body> tag.
+ * The closing &lt;/netui:scriptContainer> tag should appear before the JSP's 
&lt;/body> tag.
+ * 
  * @example The &lt;netui:scriptContainer> ... &lt;/netui:scriptContainer tag 
set simply
  * encloses other NetUI tags that you want to belong to that script container.
  * The first &lt;netui:scriptContainer> tag should appear after the JSP's 
&lt;body> tag.
@@ -214,6 +231,13 @@
 
     /**
      * Set the scopeId associated with the code methods
+     * @jsptagref.attributedescription
+     * The id that is associated with the script methods.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_scopeId</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setScopeId(String scopeId)

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
  Thu Jul 22 12:05:26 2004
@@ -79,32 +79,119 @@
  *
  * </table>
  * </p>
- * @example Use the <code>optionsDataSource</code> attribute to reference a 
dynamically generated dropdown list.
- * Source files for the following example can be seen at:
+ * @jsptagref.tagdescription
+ * Renders an HTML &lt;select> tag containing a set of selectable options.
+ * 
+ * <p>The &lt;netui:select> tag can generate a set of 
+ * selectable options in two ways:
+ * 
+ * <blockquote>
+ * <ol>
+ * <li>they can be dynamically generated by pointing the 
+ * &lt;netui:select> tag at a String[] object or 
+ * [EMAIL PROTECTED] java.util.HashMap java.util.HashMap}</li>
+ * <li>they can be statically generated by providing a set of children 
+ * [EMAIL PROTECTED] SelectOption}
+ * tags</li>
+ * </ol>
+ * </blockquote>
+ * 
+ * <p><b>Dynamically Generated Options</b>
+ * 
+ * <p>You can dynamically generate a set of selectable options by
+ * pointing the &lt;netui:select> tag at a String[].
+ * 
+ * <pre>    public String[] _options = {"red", "green", "blue", "orange", 
"pink", "aqua", "black", "brown", "tan"};</pre>
+ *      
+ * <p>To point the &lt;netui:select> tag
+ * at the String[] object use the <code>optionsDataSource</code> attribute.
+ * 
+ * <pre>    &lt;netui:select optionsDataSource="{pageFlow._options}"</pre>
+ * 
+ * Note that you can make the display value and the submitted value differ by 
pointing the &lt;netui:select>
+ * tag at a HashMap object. 
+ * (Any object that implements the [EMAIL PROTECTED] java.util.Map 
java.util.Map} interface will work.)
+ * 
+ * <pre>    public HashMap _hashMap = new HashMap();
+ *  
+ *    protected void onCreate()
+ *    {
+ *        _hashMap.put("#ff3333", "red");
+ *        _hashMap.put("#3333ff", "blue");
+ *        _hashMap.put("#33ff33", "green");
+ *    }</pre>
+ *  
+ * The following HTML will be generated.
+ * 
+ * <pre>      &lt;select size="3">
+ *          &lt;option value="#3333ff">blue&lt;/option>
+ *          &lt;option value="#33ff33">green&lt;/option>
+ *          &lt;option value="#ff3333">red&lt;/option>
+ *      &lt;/select></pre>
+ *          
+ * <p><b>Statically Generated Options</b></p>
+ * 
+ * <p>To statically generate selecable options, place a set of 
&lt;netui:selectOption> tags inside
+ * the &lt;netui:select> tag.
+ * 
+ * <pre>      &lt;netui:select dataSource="{actionForm.selections}" size="5">
+ *          &lt;netui:selectOption value="red" />
+ *          &lt;netui:selectOption value="blue" />
+ *          &lt;netui:selectOption value="green" />
+ *          &lt;netui:selectOption value="yellow" />
+ *          &lt;netui:selectOption value="orange" />
+ *      &lt;/netui:select></pre>
+ *   
+ * <p><b>Submitting Selections</b></p>
+ * 
+ * <p>A &lt;netui:select> is submitted as a String or String[] object, 
depending on whether the
+ * <code>multiple</code> attribute is set to true.  In the following example, 
the <code>dataSource</code>
+ * attribute points at a String[] object.
+ * 
+ * <pre>     &lt;/netui:select dataSource="{actionForm.selections}"></pre>
+ * 
+ * <p>In this case, the &lt;netui:select> tag submits to a String[] field of a 
Form Bean.
+ * 
+ * <pre>    public static class SubmitForm extends FormData
+ *    {
+ *        private String[] selections;
+ *      
+ *        public void setSelections(String[] selections)
  *
- * 
<p>&lt;WEBLOGIC_HOME>/samples/workshop/SamplesApp/WebApp/dropdown/select.jsp</p>
+ *        {
+ *            this.selections = selections;
+ *        }
+ *      
+ *        public String[] getSelections()
+ *        {
+ *            return this.selections;
+ *        }
+ *    }</pre>
+ * 
+ *  
+ * @example 
+ * The following sample uses the <code>optionsDataSource</code> attribute to 
reference a 
+ * dynamically generated dropdown list. 
  *
  * <pre>
  * &lt;netui:select dataSource="{actionForm.selectedOption}"
  *     optionsDataSource="{actionForm.itemOptions}" />
  * </pre>
  *
- * <p>Note that the <code>optionsDataSource</code> attribute refers to a 
<code>java.util.Map</code>
- * object. The WebLogic Workshop runtime will interpret the Map object as a 
series
- * of &lt;netui:selectOption> tags. HTML that is similar to the following will 
be rendered in the browser:</p>
- *
- * <pre>
- * &lt;select name="wlw-select_key:{actionForm.selectedOption}">
- *     &lt;option value="633">Aurora Bridge&lt;/option>
- *     &lt;option value="631">FA-18 fighter jet&lt;/option>
- *     &lt;option value="635">Space Needle&lt;/option>
- *     &lt;option value="642">Thin Mints&lt;/option>
- *     ...
- * &lt;/select>
- * </pre>
+ * <p>Assume that the <code>optionsDataSource</code> attribute refers to 
+ * a <code>java.util.Map</code> object. 
+ * The Map object will be rendered as a series
+ * of &lt;option> tags. HTML that is similar to the following will be 
+ * rendered in the browser:</p>
  * 
- * @see SelectOption
- *
+ * <pre>    &lt;select>
+ *        &lt;option value="633">Aurora Bridge&lt;/option>
+ *        &lt;option value="631">FA-18 fighter jet&lt;/option>
+ *        &lt;option value="635">Space Needle&lt;/option>
+ *        &lt;option value="642">Thin Mints&lt;/option>
+ *           ...
+ *    &lt;/select></pre>
+ *  
  * @netui:tag name="select" description="Defines a multiple-choice menu or 
drop-down list within a netui:form element."
  * @netui:attribute name="onSelect" hide="true"
  * @netui.tldx:tag requiredchild="formatDate formatNumber formatString 
selectOption attribute"
@@ -349,6 +436,15 @@
     /**
      * Set whether multiple selections are allowed.
      * @param multiple - the multiple value ("true" or "false")
+     * @jsptagref.attributedescription
+     * Boolean. Whether or not multi-selection is enabled.
+     * If multiple selection is enabled, a null option will not be displayed, 
even if 
+     * the <code>nullable</code> is set to true.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_multipleSelectEnabled</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setMultiple(boolean multiple)
@@ -378,6 +474,15 @@
     /**
      * Set whether a null option is desired.
      * @param nullable - the nullable value
+     * @jsptagref.attributedescription
+     * Boolean.
+     * Whether a option with the value null should be added to the bottom of 
the list. 
+     * If &lt;select> has the multiple <code>attribute</code> set to true, the 
null option won't be shown.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_nullable</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true" type="boolean"
      * @netui.tldx:attribute category="misc"
      */
@@ -399,6 +504,16 @@
      * Set the text of the nullable option.
      * If the <code>nullable<code> option is true, this is
      * the text of that option. The default is "";
+     * @jsptagref.attributedescription
+     * Boolean.
+     * If the <code>nullable</code> attribute is set to true, then the 
<code>nullableOptionText</code> 
+     * attribute determines the display text of the null option. 
+     * The default is to use the empty string, "", as the display text.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_nullableOptionText</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      * @netui.tldx:attribute category="misc"
      */
@@ -453,6 +568,13 @@
     /**
      * Sets how many options are displayed.
      * @param size - the size (a number)
+     * @jsptagref.attributedescription
+     * The number of visible options
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_size</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute
      */
@@ -1040,6 +1162,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      * @netui.tldx:attribute category="misc"
      */
@@ -1051,6 +1183,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/SelectOption.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/SelectOption.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/SelectOption.java
    Thu Jul 22 12:05:26 2004
@@ -51,14 +51,28 @@
  *
  * </table>
  * </p>
- * @example <pre>&lt;netui:selectOption value="{pageFlow.option2}">Option 
2&lt;/netui:selectOption></pre>
- * In this sample, a SelectOption (within a Select) displays a label of Option 
2 and reads its
- * value from the page flow's option2 property.
- * <p>To reference a dynamically generated series of &lt;netui:selectOption> 
tags, pass a
- * <code>java.util.Map</code> object to a &lt;netui:select> tag. 
+ * @jsptagref.tagdescription
+ * Renders a single &lt;option> tag.
  * 
- * @see Select
- *
+ * <p>The &lt;netui:selectOption> must have a parent [EMAIL PROTECTED] Select} 
tag.
+ * 
+ * <p>To dynamically generate a set of &lt;option> tags, point the [EMAIL 
PROTECTED] Select}
+ * tag at a String[], [EMAIL PROTECTED] java.util.HashMap java.util.HashMap}, 
+ * or any object that implements [EMAIL PROTECTED] java.util.Map 
java.util.Map}.
+ * 
+ * @example 
+ * The following sample generates a set of &lt;option> tags.
+ * <pre>    &lt;netui:form action="submit">
+ *        &lt;netui:select dataSource="{actionForm.selections}" size="5">
+ *            &lt;netui:selectOption value="red" />
+ *            &lt;netui:selectOption value="blue" />
+ *            &lt;netui:selectOption value="green" />
+ *            &lt;netui:selectOption value="yellow" />
+ *            &lt;netui:selectOption value="orange" />
+ *        &lt;/netui:select>
+ *        &lt;netui:button type="submit" value="Submit"/>
+ *    &lt;/netui:form></pre>
+ *  
  * @netui:tag name="selectOption" description="An option whose state is 
determined by its enclosing netui:selectOption."
  * @netui.tldx:tag requiredparent="select"
  * requiredchild="label attribute"
@@ -127,6 +141,13 @@
     /**
      * Set if this option is disabled or not.
      * @param disabled - "true" or "false"
+     * @jsptagref.attributedescription
+     * Boolean. Determines whether the &lt;option> is disabled.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_disabled</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      * @netui.tldx:attribute category="misc"
      */
@@ -170,6 +191,14 @@
     /**
      * Set the value of this SelectOption.
      * @param value - the SelectOption value
+     * @jsptagref.attributedescription
+     * A literal or a data binding expression that determines the value 
submitted by the
+     * &lt;option> tag.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      * @netui.tldx:attribute
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextArea.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextArea.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextArea.java
        Thu Jul 22 12:05:26 2004
@@ -57,15 +57,20 @@
  *
  * </table>
  * </p>
- * @example In this sample, a TextArea of 3 rows and 25 columns reads from and 
writes to the form bean's
- * description property, and reads from the default value in the pageflow if 
the description
- * property in the form bean is null.
- * <pre>
- * &lt;netui:textArea dataSource="{actionForm.description}"
- *                    defaultValue="{pageFlow.defaultDescription}"
- *                    cols="25" rows="3" />
- * </pre>
+ * @jsptagref.tagdescription
+ * Renders an HTML &lt;input> tag of type "text".
  * 
+ * <pre>    &lt;input type="text"/></pre> 
+ * 
+ * @example 
+ * In this sample a text area reads from and writes to the Form Bean's
+ * description property.  If the submitted value is NULL the default value is 
specified 
+ * by the Page Flow's 
+ * defaultDescription property.
+ * <pre>     &lt;netui:textArea dataSource="{actionForm.description}"
+ *           defaultValue="{pageFlow.defaultDescription}"
+ *           cols="25" rows="3" /></pre>
+ *  
  * @netui:tag name="textArea" description="Renders a databound TextArea with 
the given attributes."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.TextAreaRenderer" 
bodycontentpref="empty" whitespace="indent"
  */
@@ -129,6 +134,13 @@
     /**
      * Sets the number of columns in the TextArea.
      * @param cols - the number of columns
+     * @jsptagref.attributedescription
+     * Integer. The number of columns in the &lt;netui:textArea>.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_columns</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute
      */
@@ -140,6 +152,13 @@
     /**
      * Set if this TextArea is read-only.
      * @param readonly - the read-only state
+     * @jsptagref.attributedescription
+     * Boolean. Determines whether text can be entered in the 
&lt;netui:textArea> or not. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_disabled</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setReadonly(boolean readonly)
@@ -150,6 +169,13 @@
     /**
      * Sets the number of rows in the TextArea.
      * @param rows - the number of rows
+     * @jsptagref.attributedescription
+     * The number of rows in the &lt;netui:textArea>
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_rows</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute
      */
@@ -291,6 +317,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      */
     public void setAccessKey(char accessKey)
@@ -301,6 +337,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextBox.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextBox.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/TextBox.java
 Thu Jul 22 12:05:26 2004
@@ -64,14 +64,16 @@
  *
  * </table>
  * </p>
- * @example In this sample, a TextBox of size 20 reads from and writes to the 
form bean's firstname property,
- * and reads from the default value in the pageflow if the firstName property 
in the form bean is null.
- * <pre>
- * &lt;netui:textBox dataSource="{actionForm.firstName}"
- *                   defaultValue="{pageFlow.defaultFirstName}"
- *                   size="20" />
- * </pre>
+ * @jsptagref.tagdescription
+ * Renders an HTML &lt;input type="text"> tag.             
  * 
+ * @example 
+ * In this sample, a &lt;netui:textBox> reads from and writes to the Form 
Bean's firstname property.
+ * If the submitted text is NULL, the default value is specified by the Page 
Flow's firstName property.
+ * <pre>     &lt;netui:textBox dataSource="{actionForm.firstName}"
+ *           defaultValue="{pageFlow.defaultFirstName}"
+ *           size="20" /></pre>
+ *  
  * @netui:tag name="textBox" description="Renders a databound TextBox with the 
given attributes."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.TextboxRenderer" 
bodycontentpref="empty" whitespace="indent"
  */
@@ -143,6 +145,13 @@
     /**
      * Set the maximum length (in characters) of the TextBox.
      * @param maxlength - the max length
+     * @jsptagref.attributedescription
+     * Integer. The maximum number of character that can be entered in the 
rendered &lt;input> element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_maxLength</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute
      */
@@ -154,6 +163,13 @@
     /**
      * Set the password state (true means this is a password field).
      * @param password - the password state
+     * @jsptagref.attributedescription
+     * Boolean. Determines whether the password characters that the user 
enters into the &lt;input> element will be disguised in the browser. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_password</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setPassword(boolean password)
@@ -164,6 +180,13 @@
     /**
      * Set if this TextBox is read-only.
      * @param readonly - the read-only state
+     * @jsptagref.attributedescription
+     * Boolean. Determines if the rendered &lt;input> element is read-only.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_readOnly</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setReadonly(boolean readonly)
@@ -174,6 +197,13 @@
     /**
      * Set the size (in characters) of the TextBox.
      * @param size - the size
+     * @jsptagref.attributedescription
+     * Integer. The number of characters visible in the &lt;input> element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>integer_size</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute
      */
@@ -306,6 +336,16 @@
      * values because there are often used by browsers <code>A, C, E, F, G,
      * H, V, left arrow, and right arrow</code>.
      * @param accessKey - the accessKey value.
+     * @jsptagref.attributedescription
+     * The keyboard navigation key for the element.
+     * The following values are not recommended because they
+     * are often used by browsers: <code>A, C, E, F, G, 
+     * H, V, left arrow, and right arrow</code>
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_accessKey</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="char"
      */
     public void setAccessKey(char accessKey)
@@ -316,6 +356,13 @@
     /**
      * Sets the alt attribute value.
      * @param alt - the alt value.
+     * @jsptagref.attributedescription
+     * The alt attribute of the element.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_alt</i>
+     *
      * @netui:attribute required="false"  rtexprvalue="true"
      */
     public void setAlt(String alt)
@@ -326,6 +373,14 @@
     /**
      * Sets the tabIndex of the rendered html tag.
      * @param tabindex - the tab index.
+     * @jsptagref.attributedescription
+     * The tabIndex of the rendered HTML tag.  This attribute determines the 
position of the 
+     * tag in the sequence of page elements that the user may advance through 
by pressing the TAB key. 
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_tabIndex</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="int"
      * @netui.tldx:attribute category="misc"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
    Thu Jul 22 12:05:26 2004
@@ -80,14 +80,48 @@
  * of the tree we are rendering is stored.</td></tr>
  * <p/>
  * </table></p>
- * @example In this sample, a Tree in the session named "MyTree" has some CSS 
styles
- * associated with it and uses an action called TreeNavigation to handle
- * node expansion/collapse.
- * <pre>&lt;netui:tree tree="MyTree" imageRoot="/webapp/images" style="tree"
- *                     styleSelected="tree-selected" 
styleUnselected="tree-unselected"
- *                     action="/webapp/TreeNavigation.do" /></pre>
+ * @jsptagref.tagdescription
+ * Renders a navigable tree of [EMAIL PROTECTED] Node} tags.
  * 
- * @see org.apache.beehive.netui.tags.tree.TreeElement
+ * <p>This tag can automatically handle display icons for the tree nodes 
+ * through the <code>imageRoot</code> attribute.
+ * If you point the <code>imageRoot</code> attribute at a folder containing 
+ * appropriately named image files, the correct
+ * images will be used for any given state of the tree's nodes.  The image 
names should be:
+ * 
+ * <blockquote>
+ * <ul>
+ * <li>handledownlast.gif</li>  
+ * <li>handledownmiddle.gif</li>  
+ * <li>handlerightlast.gif</li>  
+ * <li>handledownmiddle.gif</li>  
+ * <li>linelastnode.gif</li>  
+ * <li>linemiddlenode.gif</li>  
+ * <li>linevertical.gif</li>  
+ * </ul>
+ * </blockquote>
+ * 
+ * @example
+ * The following example shows a &lt;netui:tree> tag with a set of children 
&lt;netui:node> tags that form the 
+ * tree's navigational structure.  The <code>tree</code> attribute stores the 
tree in the Session object, 
+ * under the property "tree".  The <code>imageRoot</code> attribute points to 
fa older of images 
+ * relative to the 
+ * Page Flow directory.
+ * 
+ * <pre>  &lt;netui:tree 
+ *    tree="{session.tree}" 
+ *    imageRoot="treeImages" 
+ *    style="tree-control" 
+ *    action="treeState">
+ *      &lt;netui:node label="Root Folder" expanded="true" action="treeState" 
target="contentFrame">
+ *          &lt;netui:node label="I" expanded="false" action="treeState" 
target="contentFrame">
+ *              &lt;netui:node label="A" expanded="false" action="treeState" 
target="contentFrame">
+ *                  &lt;netui:node label="1" action="treeState" 
target="contentFrame"/>
+ *                  &lt;netui:node label="2" action="treeState" 
target="contentFrame"/>
+ *              &lt;/netui:node>
+ *          &lt;/netui:node>            
+ *      &lt;/netui:node>
+ *  &lt;/netui:tree></pre> 
  *
  * @netui:tag name="richTree" description="Renders a tree control represented 
by a set of TreeElement objects."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.TreeRenderer" 
whitespace="indent"
@@ -203,6 +237,13 @@
      * Sets the image name for an open non-leaf node with no
      * line below it.  (Defaults to "handledownlast.gif").
      * @param imageHandleDownLast - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for an open non-leaf node with no line below it. 
(Defaults to "handledownlast.gif".)
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageHandleDownLast</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -215,6 +256,14 @@
      * Sets the image name for an open non-leaf node with a
      * line below it.  (Defaults to "handledownmiddle.gif").
      * @param imageHandleDownMiddle - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for an open non-leaf node with a
+     * line below it. (Defaults to "handledownmiddle.gif".)
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageHandleDownMiddle</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -227,6 +276,14 @@
      * Sets the image name for a closed non-leaf node with no
      * line below it.  (Defaults to "handlerightlast.gif").
      * @param imageHandleRightLast - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for a closed non-leaf node with no
+     * line below it. (Defaults to "handlerightlast.gif".)
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageHandleRightLast</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -239,6 +296,14 @@
      * Sets the image name for a closed non-leaf node with a
      * line below it.  (Defaults to "handlerightmiddle.gif").
      * @param imageHandleRightMiddle - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for a closed non-leaf node with a
+     * line below it. (Defaults to "handlerightmiddle.gif".)
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageHandleRightMiddle</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -251,6 +316,14 @@
      * Sets the image name for a blank area of the tree.
      * (Defaults to "linelastnode.gif").
      * @param imageLineLast - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for a blank area of the tree.
+     * (Defaults to "linelastnode.gif")
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageLineLast</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -275,6 +348,14 @@
      * Sets the image name for an area with a line through it.
      * (Defaults to "linemiddlenode.gif").
      * @param imageLineMiddle - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for an area with a line through it.
+     * (Defaults to "linemiddlenode.gif").
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageLineMiddle</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -287,6 +368,14 @@
      * Sets the image name for an area with a line through it.
      * (Defaults to "linevertical.gif").
      * @param imageLineVertical - the image name (including extension)
+     * @jsptagref.attributedescription
+     * The image name for an area with a line through it.
+     * (Defaults to "linevertical.gif").
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageLIneVertical</i>
+     *
      * @netui:attribute required="false"
      * @netui.tldx:attribute category="images" reftype="img-url"
      */
@@ -299,6 +388,14 @@
      * Sets the name of the directory containing the images for our icons,
      * relative to the page including this tag.
      * @param imageRoot - the directory name
+     * @jsptagref.attributedescription
+     * The directory containing the images for tree icons,
+     * relative to the page that includes the &lt;netui:tree> tag.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_imageRoot</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      * @netui.tldx:attribute category="images"
      */
@@ -328,6 +425,13 @@
     /**
      * Sets the root <code>TreeElement</code> of this tree.
      * @param rootNode - the root treeNode
+     * @jsptagref.attributedescription
+     * Sets the root [EMAIL PROTECTED] TreeNode} of this tree.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_rootNode</i>
+     *
      * @netui:attribute required="false"
      */
     public void setRootNode(TreeElement rootNode)

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Attribute.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Attribute.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Attribute.java
       Thu Jul 22 12:05:26 2004
@@ -48,22 +48,67 @@
  *
  * </table>
  * </p>
- * @example
- * <p>In this sample, a &lt;netui-template:attribute&gt; tag is shown within 
the
- * HTML &lt;title&gt; portion of a template page. The tag defines an attribute
- * named 'title'. This attribute allows a content page to provide the title of 
the
- * page for the template.</p>
- * <pre>
- * &lt;title&gt;
- *     &lt;netui-template:attribute name="title"/&gt;
- * &lt;/title&gt;</pre>
- *
- * @see IncludeSection
- * @see Section
- * @see SetAttribute
- * @see Template
- * @see Visible
- *
+ * @jsptagref.tagdescription
+ * 
+ * The &lt;netui-template:attribute> tag defines a placeholder within a 
template. The
+ * value of these placeholders may be set
+ * from a content page. 
+ * 
+ * <p>For example, a title placeholder may be defined 
+ * in the template.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>    &lt;head>
+ *        &lt;title>
+ *            &lt;netui-template:attribute name="title"/>
+ *        &lt;/title>
+ *    &lt;/head></pre> 
+ * 
+ * <p>Then content pages may set the value of this placeholder using the 
+ * [EMAIL PROTECTED] SetAttribute} tag.
+ * 
+ * <p><b>In a content JSP page...</b>
+ * 
+ * <pre>    &lt;netui-template:setAttribute name="title" 
value="myContentPage1.jsp"/></pre>
+ * 
+ * <p>The HTML rendered in the browser appears as follows.
+ * 
+ * <p><b>Rendered HTML in the browser...</b>
+ * 
+ * <pre>    &lt;head>
+ *        &lt;title>
+ *            myContentPage1.jsp
+ *        &lt;/title>
+ *    &lt;/head></pre>
+ * 
+ * If the &lt;netui-template:setAttribute> tag specifies no value to be set in 
the 
+ * placeholder, then the
+ * [EMAIL PROTECTED] Attribute} tag's <code>defaultValue</code> will be used.
+ * 
+ * <pre>    &lt;netui-template:attribute name="title" <b>defaultValue="My 
Page"</b>/></pre>
+ * 
+ * The &lt;netui-template:attribute> tag may also be used to define 
placeholders within 
+ * JSP and HTML tags.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="<b>&lt;netui-template:attribute 
name="headerColor" defaultValue="#ffffff"/></b>"></pre>
+ * 
+ * @example 
+ * <p>In this sample, a &lt;netui-template:attribute&gt; tag defines a value 
placeholder 
+ * within a &lt;td> tag</p>
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="<b>&lt;netui-template:attribute 
name="headerColor" defaultValue="#ffffff"/></b>"></pre>
+ * 
+ * <p>Now a content JSP page can control the background color of the &lt;td>.
+ * 
+ * <pre>    &lt;netui-template:setAttribute name="headerColor" 
value="lightgreen"/></pre>
+ * 
+ * The HTML rendered in the browser will appear as follows.
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="lightgreen"></pre>
+ *    
  * @netui:tag name="attribute"
  *          description="Place this tag in a template file, and then set its 
value with the netui-template:setAttribute tag."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.AttributeRenderer"
@@ -89,6 +134,14 @@
      * not need to be unique because it may be used more than once
      *  on the page.
      *
+     * @jsptagref.attributedescription
+     * The <code>name</code> for the &lt;netui-template:attribute> 
placeholder.  The <code>name</code>
+     * may be used more than once in a template page.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true"  rtexprvalue="true"
      */
     public void setName(String name) {
@@ -112,6 +165,18 @@
      * If neither a value nor <code>defaultValue</code> is set, then the
      * empty String "" will be output.
      * @param defaultValue The value to set the defaultValue property.
+     *
+     * @jsptagref.attributedescription
+     * The default value for &lt;netui-template:attribute> placeholder.
+     * If a content page does not define a value for the placeholder
+     * through its &lt;netui-template:setAttribute> tag, then the
+     * <code>defaultValue</code> will be used.
+     * If neither a value nor <code>defaultValue</code> is set, then the
+     * empty String "" will be output.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_defaultValue</i>
      *
      * @netui:attribute required="false"  rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/IncludeSection.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/IncludeSection.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/IncludeSection.java
  Thu Jul 22 12:05:26 2004
@@ -59,19 +59,68 @@
  *
  * </table>
  * </p>
- * @example
- * This sample shows how a template defines a section to be included.  The
- * section has a name of 'content' and specifies a default JSP page, which 
will be
- * used if the content page does not provide content for the section.
- * <pre>&lt;netui-template:includeSection name="content"
- *         defaultPage="/samples/template/noContent.jsp"/&gt;</pre>
- *
- * @see Attribute
- * @see Section
- * @see SetAttribute
- * @see Template
- * @see Visible
+ * @jsptagref.tagdescription
+ * This tag is used within a template page to define placeholders for HTML 
content.
+ * Each placeholder must have a unique name identifying it.
+ * Different content pages adopt the template page, set properties 
+ * on its placeholders (using the [EMAIL PROTECTED] Section} tag), and render 
the 
+ * completed HTML in the browser.
+ * 
+ * <p>For example, a template page can use the 
&lt;netui-template:includeSection> tag to 
+ * define a content placeholder.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>      &lt;table>
+ *          &lt;tr>
+ *              &lt;td colspan="3">
+ *                  &lt;netui-template:includeSection name="tableHeader"/>
+ *              &lt;/td>
+ *          &lt;/tr></pre>
+ * 
+ * <p>Then a content page can set HTML content in the placeholder using the 
[EMAIL PROTECTED] Section} tag.
+ * 
+ * <p><b>In a content JSP page...</b>
+ * 
+ * <pre>    &lt;netui-template:section name="tableHeader">
+ *        &lt;h1>HEADER TEXT&lt;/h1>
+ *    &lt;/netui-template:section></pre>
+ * 
+ * <p>The HTML rendered in the browser will appear as follows.
+ * 
+ * <pre>      &lt;table>
+ *          &lt;tr>
+ *              &lt;td colspan="3">
+ *                  &lt;h1>HEADER TEXT&lt;/h1>
+ *              &lt;/td>
+ *          &lt;/tr></pre>
+ * 
+ * <p>If the content page does not define content to be placed in the 
placeholder, then 
+ * the <code>defaultPage</code> attribute will be used.  The 
+ * <code>defaultPage</code> attribute points at a stand-alone JSP page.  The 
entire contents of the page
+ * will be placed in the placeholder, after any Java elements, such as 
scriptlets have been resolved.
+ * 
+ * @example 
+ * In this sample a &lt;netui-template:includeSection> tag defines a place 
holder for a 
+ * table row 
  *
+ * <pre>    &lt;tr>
+ *        &lt;netui-template:includeSection name="rowPlaceholder" 
defaultPage="defaultPage.jsp"/>
+ *    &lt;/tr></pre>
+ *    
+ * <p>If there is no content page that sets content into this placeholder 
using a &lt;netui-template:section> 
+ * tag, then the entire contents of the defaultPage.jsp will be used.
+ * Assume that the defaultPage.jsp appears as follows.
+ * 
+ * <pre>    &lt;p>&lt;%= 1 + 1 %>&lt;/p></pre>
+ * 
+ * Then the HTML rendered in the browser will appear as follows. Note that the 
Java scriptlet 
+ * <code>&lt;%= 1 + 1 %></code> has been resolved to the value <code>2</code>.
+ * 
+ * <pre>    &lt;tr>
+ *        &lt;p>2&lt;/p>
+ *    &lt;/tr></pre>
+ *    
  * @netui:tag name="includeSection"
  *          description="Include this tag in a template file to mark out 
content that will be used in another JSP page."
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.IncludeSectionRenderer" 
whitespace="indent"
@@ -105,6 +154,13 @@
      * @param name The name of the defined section within the template.
      * This name must be unique within the template.
      *
+     * @jsptagref.attributedescription
+     * The name of the section.  This name must be unique within the template 
page.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setName(String name) {
@@ -125,6 +181,14 @@
      * the content page does not define the content.
      * @param defaultPage a URL identifying a JSP or HTML page
      * providing default content to the defined section.
+     *
+     * @jsptagref.attributedescription
+     * A default JSP page to provide content for the placeholder if
+     * the content page fails to define the content.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_defaultPage</i>
      *
      * @netui:attribute required="false" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Section.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Section.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Section.java
 Thu Jul 22 12:05:26 2004
@@ -58,22 +58,78 @@
  *
  * </table>
  * </p>
- * @example
- * This sample shows a section defined on a content page. Here, simple HTML 
content
- * is provided to a section placeholder named 'content', which should be found 
in the
- * template page.
- * <pre>
- * &lt;netui-template:section name="content"&gt;
- *     &lt;h4&gt;Section Content&lt;/h4&gt;
- * &lt;/netui-template:section&gt;
- * </pre>
- *
- * @see Attribute
- * @see IncludeSection
- * @see SetAttribute
- * @see Template
- * @see Visible
+ * @jsptagref.tagdescription
+ * The &lt;netui-template:section> tag sets HTML content inside placeholders 
defined by 
+ * [EMAIL PROTECTED]  IncludeSection} tags.
+ * 
+ * <p>The &lt;netui-template:section> tag must have a parent 
+ * [EMAIL PROTECTED] Template} tag. 
+ * 
+ * <p>The &lt;netui-template:section> tag appears in content pages, which 
adopt a template page, 
+ * set properties on the template's placeholders 
+ * (using this &lt;netui-template:section> tag), 
+ * and render the completed HTML in the browser.
+ * 
+ * <p>For content to be placed in the placeholder, the 
&lt;netui-template:section> and 
+ * &lt;netui-template:includeSection> tags must have matching 
<code>name</code> attributes.
+ * 
+ * <p>For example, assume a template page defines the following content 
placeholder.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>      &lt;table>
+ *          &lt;tr>
+ *              &lt;td colspan="3">
+ *                  &lt;netui-template:includeSection name="tableHeader"/>
+ *              &lt;/td>
+ *          &lt;/tr></pre>
+ * 
+ * <p>Then a content page can set HTML content in the placeholder using the 
&lt;netui-template:section> tag.
+ * 
+ * <p><b>In a content JSP page...</b>
+ * 
+ * <pre>    &lt;netui-template:section name="tableHeader">
+ *        &lt;h1>HEADER TEXT&lt;/h1>
+ *    &lt;/netui-template:section></pre>
+ * 
+ * <p>The HTML rendered in the browser will appear as follows.
+ * 
+ * <pre>      &lt;table>
+ *          &lt;tr>
+ *              &lt;td colspan="3">
+ *                  &lt;h1>HEADER TEXT&lt;/h1>
+ *              &lt;/td>
+ *          &lt;/tr></pre>
+ * 
+ * @example 
+ * Assume a &lt;netui-template:includeSection> tag defines a content 
placeholder inside a 
+ * table row 
  *
+ * <pre>    &lt;tr>
+ *        &lt;netui-template:includeSection name="rowPlaceholder"/>
+ *    &lt;/tr></pre>
+ *    
+ * <p>A content page can set content into the placeholder using the 
&lt;netui-template:section> 
+ * tag as follows.
+ * 
+ * <pre>  &lt;netui-template:section name="rowPlaceHolder">
+ *      &lt;td>&lt;p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
+ *      sed diam nonummy nibh euismod tincidunt ut laoreet dolore 
+ *      magna aliquam erat volutpat. Ut wisi enim ad minim veniam, 
+ *      quis nostrud exerci tation ullamcorper suscipit lobortis nisl 
+ *      ut aliquip ex ea commodo consequat.&lt;/p>&lt;/td>
+ *  &lt;/netui-template:section></pre>
+ * 
+ * The HTML rendered in the browser will appear as follows.
+ * 
+ * <pre>    &lt;tr>
+ *      &lt;td>&lt;p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
+ *      sed diam nonummy nibh euismod tincidunt ut laoreet dolore 
+ *      magna aliquam erat volutpat. Ut wisi enim ad minim veniam, 
+ *      quis nostrud exerci tation ullamcorper suscipit lobortis nisl 
+ *      ut aliquip ex ea commodo consequat.&lt;/p>&lt;/td>
+ *    &lt;/tr></pre>
+ *    
  * @netui:tag name="section"
  *          description="Use this tag to mark out content to replace a 
netui-template:includeSection within a template file."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.SectionRenderer" 
requiredparent="template divPanel repeater"
@@ -114,6 +170,16 @@
      * @param name The name of an <code>IncludeSection<code> the
      * this tag is providing content for.
      *
+     * @jsptagref.attributedescription
+     * The name of the content to fill the placeholder. 
+     * This name is matched against the &lt;netui-template:includeSection>
+     * name.  If the names match, the content of this tag will be
+     * rendered within the template's placeholder.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setName(String name) {
@@ -140,6 +206,13 @@
     /**
      * Sets the visible state of the tag.
      * @param visible <code>Boolean</code> value representing the visible 
state.
+     *
+     * @jsptagref.attributedescription
+     * Boolean. Determines if the section is visible.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_literal_visible</i>
      *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/SetAttribute.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/SetAttribute.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/SetAttribute.java
    Thu Jul 22 12:05:26 2004
@@ -45,17 +45,71 @@
  *
  * </table>
  * </p>
- * @example
- * This sample show how the content page sets the value of an attribute.  The 
template
- * attribute 'title' will have the value 'Page Title' everywhere it appears in 
the template.
- * <pre>&lt;netui-template:setAttribute name="title" value="Page Title"/></pre>
- *
- * @see Attribute
- * @see IncludeSection
- * @see Section
- * @see Template
- * @see Visible
- *
+ * @jsptagref.tagdescription
+ * 
+ * The &lt;netui-template:setAttribute> tag sets the value for a placeholder 
in a template page.
+ * 
+ * <p>The &lt;netui-template:setAttribute> tag must have a parent 
+ * [EMAIL PROTECTED] Template} tag.
+ * 
+ * <p>The target placeholder is defined by a [EMAIL PROTECTED] Attribute} tag. 
 For a value to be set
+ * in the placeholder, the &lt;netui-template:attribute> and 
+ * &lt;netui-template:setAttribute> tags must have matching <code>name</code> 
attributes.
+ * 
+ * <p>For example, a placeholder may be defined 
+ * in the template.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>    &lt;head>
+ *        &lt;title>
+ *            &lt;netui-template:attribute name="title"/>
+ *        &lt;/title>
+ *    &lt;/head></pre> 
+ * 
+ * <p>Then content pages may set the value of this placeholder using the 
+ * &lt;netui-template:setAttribute> tag.
+ * 
+ * <p><b>In a content JSP page...</b>
+ * 
+ * <pre>    &lt;netui-template:setAttribute name="title" 
value="myContentPage1.jsp"/></pre>
+ * 
+ * <p>The HTML rendered in the browser appears as follows.
+ * 
+ * <p><b>Rendered HTML in the browser...</b>
+ * 
+ * <pre>    &lt;head>
+ *        &lt;title>
+ *            myContentPage1.jsp
+ *        &lt;/title>
+ *    &lt;/head></pre>
+ * 
+ * If the &lt;netui-template:setAttribute> tag specifies no value to be set in 
the placeholder, then the
+ * &lt;netui-template:attribute> tag's <code>defaultValue</code> will be used.
+ * 
+ * <pre>    &lt;netui-template:attribute name="title" <b>defaultValue="My 
Page"</b>/></pre>
+ * 
+ * The &lt;netui-template:attribute> tag may also be used to define 
placeholders within 
+ * JSP and HTML tags.
+ * 
+ * <p><b>In the template JSP page...</b>
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="<b>&lt;netui-template:attribute 
name="headerColor" defaultValue="#ffffff"/></b>"></pre>
+ * 
+ * @example 
+ * <p>Assume a &lt;netui-template:attribute&gt; tag defines a value 
placeholder 
+ * within a &lt;td> tag</p>
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="<b>&lt;netui-template:attribute 
name="headerColor" defaultValue="#ffffff"/></b>"></pre>
+ * 
+ * <p>Now a content JSP page can control the background color of the &lt;td>.
+ * 
+ * <pre>    &lt;netui-template:setAttribute name="headerColor" 
value="lightgreen"/></pre>
+ * 
+ * The HTML rendered in the browser will appear as follows.
+ * 
+ * <pre>    &lt;td colspan="3" bgcolor="lightgreen"></pre>
+ *    
  * @netui:tag name="setAttribute"
  *          description="Use this tag to set the value of an 
netui-template:attribute element in a template file."
  * @netui.tldx:tag 
renderer="workshop.netui.jspdesigner.tldx.SetAttributeRenderer" 
requiredparent="template"
@@ -86,6 +140,13 @@
      * @param name The name of the <code>Attribute</code> in the
      *  template for which this tags sets the value.
      *
+     * @jsptagref.attributedescription
+     * The name of the attribute to set.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_name</i>
+     *
      * @netui:attribute required="true" rtexprvalue="true"
      */
     public void setName(String name) {
@@ -107,6 +168,13 @@
      * may be assigned a read only expression.
      * @param value The value to use for the <code>Attribute</code>
      *  in the template.
+     *
+     * @jsptagref.attributedescription
+     * Sets the value of the attribute.
+     * 
+     * @jsptagref.databindable Read Only
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_or_expression_value</i>
      *
      * @netui:attribute required="true" rtexprvalue="true"
      * @netui.tldx:attribute 

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Template.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Template.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Template.java
        Thu Jul 22 12:05:26 2004
@@ -72,41 +72,33 @@
  *      that should report tag errors?</td></tr>
  * </table>
  * </p>
+ * @jsptagref.tagdescription
+ * This tag points a content page at its template page.  A
+ * content page interacts with its template page through children tags
+ * of the 
+ * &lt;netui-template:template> tag.  The legal children are as follows:
+ * <blockquote>
+ * <ul>
+ * <li> [EMAIL PROTECTED] SetAttribute} -- a tag that fills a 
+ *      [EMAIL PROTECTED] Attribute} placeholder with content.
+ * <li> [EMAIL PROTECTED] Section} -- a tag that fills a
+ *      [EMAIL PROTECTED] IncludeSection} placeholder with content.
+ * </ul>
+ * </blockquote>
+ * <p>The URL of the template page is specified by the 
<code>templatePage</code>
+ *      attribute on the
+ *      &lt;netui-template:template> tag.
+ * 
  * @example
- * This first sample shows a full content page. The content page provides
- * content for the 'Template.jsp' template.  The template contains children,
- * defining an attribute and a section.  These will show up as content in the
- * page.
- * <pre>
- * &lt;netui-template:template templatePage="Template.jsp"&gt;
- *   &lt;netui-template:setAttribute name="title" value="Template Example"/&gt;
- *   &lt;netui-template:section name="content"&gt;
- *     &lt;h4&gt;Section Content&lt;/h4&gt;
- *   &lt;/netui-template:section&gt;
- * &lt;/netui-template:template&gt;
- * </pre>
- * This next sample shows a simple template providing the look and
- * feel for the content.
- * <pre>
- * &lt;html&gt;
- * &lt;head&gt;
- * &lt;title&gt;&lt;netui-template:attribute name="title"/&gt;&lt;/title&gt;
- * &lt;netui:base /&gt;
- * &lt;/head&gt;
- * &lt;body style="color: red"&gt;
- *     &lt;netui:anchor href="index.jsp"&gt;Home&lt;/netui:anchor&gt;&lt;br 
/&gt;
- *     &lt;hr /&gt;
- *     &lt;netui-template:includeSection name="content" 
defaultPage="/samples/template/noContent.jsp"/&gt;
- * &lt;/body&gt;
- * &lt;/html>
- * </pre>
- *
- * @see Attribute
- * @see IncludeSection
- * @see Section
- * @see SetAttribute
- * @see Visible
- *
+ * The following example shows a content page that adopts the template.jsp 
page as its template.
+ * The content page also sets the "title" attribute on the template.
+ * 
+ *    <pre>    &lt;netui-template:template templatePage="./template.jsp">
+ *    ...
+ *        &lt;netui-template:setAttribute name="title" value="Template Tags 
Sample"/>
+ *    ...
+ *    &lt;/netui-template:template></pre>
+ *    
  * @netui:tag name="template"
  *          description="Use this tag to associate a JSP page with a 
particular template file."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.TemplateRenderer" 
requiredchild="section setAttribute" whitespace="indent"
@@ -157,6 +149,14 @@
      * in the template JSP.
      * @param reportErrors boolean indicating that errors should be reported
      *
+     * @jsptagref.attributedescription
+     * Boolean. Determines if the template should report errors.  
+     * The errors will be reported inline on the JSP page.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_reportErrors</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setReportErrors(boolean reportErrors) {
@@ -177,6 +177,13 @@
      * identifies the JSP template page.
      * @param templatePage - a URL pointing to a JSP page that represents the
      *  template.
+     *
+     * @jsptagref.attributedescription
+     * The URL of the template page to use.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>string_urlToTemplatePage</i>
      *
      * @netui:attribute required="true" rtexprvalue="true"
      */

Modified: 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Visible.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Visible.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-template/org/apache/beehive/netui/tags/template/Visible.java
 Thu Jul 22 12:05:26 2004
@@ -44,28 +44,34 @@
  *
  * </table>
  * </p>
- * @example This first sample shows how to use the visible tag around some 
content.  The
- * visible state is bound to a property 'visible' on the pageFlow, which
- * determines whether the body content is visible.
- * <pre>
- * &lt;netui-template:visible visibility="{pageFlow.visible}"&gt;
- *      ... Some Content ...
- * &lt;netui-template:visible&gt;
- * </pre>
- * In this next example, the content will be displayed if the previous example
- * does not display.  This allows two <code>visible<code> tags to act as an
- * <code>if / else</code> combination.
- * <pre>&lt;netui-template:visible visibility="{pageFlow.visible}" 
negate="true"&gt;
- *      ... Some Content ...
- * &lt;netui-template:visible&gt;
- * </pre>
- *
- * @see Attribute
- * @see IncludeSection
- * @see Section
- * @see SetAttribute
- * @see Template
- *
+ * @jsptagref.tagdescription
+ * This tag determines whether some HTML content is visible or not.
+ * 
+ * <p>The &lt;netui-template:visible> tag can wrap any HTML content within a 
content page.
+ * If visibility is turned on, then the content will fill its target 
placeholder in the template file.
+ * If visibility is turned off, then the content will not fill its target 
placeholder.
+ * 
+ * <p>Visibility can be determined through either the <code>visible</code> 
attribute
+ * (which
+ * takes a boolean literal) or the <code>visibility</code> attribute (which 
takes a 
+ * data binding expression that 
+ * resolves to a boolean).
+ * 
+ * @example 
+ * The following sample shows content targeted at the "leftCol" placeholder.
+ * The &lt;netui-template:visible> tag controls whether this content will be 
sent to
+ * its placeholder.  The controlling boolean value is located in the 
Controller file
+ * under the property "leftColVisible".
+ * <pre>  &lt;netui-template:section name="leftCol">
+ *      &lt;netui-template:visible visiblity="{pageFlow.leftColVisible}">
+ *          &lt;p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
+ *          sed diam nonummy nibh euismod tincidunt ut laoreet dolore 
+ *          magna aliquam erat volutpat. Ut wisi enim ad minim veniam, 
+ *          quis nostrud exerci tation ullamcorper suscipit lobortis nisl 
+ *          ut aliquip ex ea commodo consequat.&lt;/p>
+ *      &lt;/netui-template:visible>
+ *  &lt;/netui-template:section></pre>
+ *    
  * @netui:tag name="visible"
  * description="Use this tag to turn on/off the display of the body content."
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.VisibleRenderer"
@@ -108,6 +114,13 @@
     /**
      * Sets the visible state of the tag.
      * @param visible <code>Boolean</code> value representing the visible 
state.
+     * @jsptagref.attributedescription
+     * Boolean. Determines if the content is visible.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i></i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setVisible(boolean visible)
@@ -129,6 +142,13 @@
      * Sets the negate state of the tag.  If negate is <code>true</code>
      * this will negate the meaning of the visible state.
      * @param negate <code>Boolean</code> value representing the negate state.
+     * @jsptagref.attributedescription
+     * Boolean.  If true, the <code>visible</code> attribute will be negated.
+     * 
+     * @jsptagref.databindable false
+     * 
+     * @jsptagref.attributesyntaxvalue <i>boolean_negate</i>
+     *
      * @netui:attribute required="false" rtexprvalue="true" type="boolean"
      */
     public void setNegate(boolean negate)

Reply via email to