You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by ds...@apache.org on 2003/05/21 21:39:21 UTC

cvs commit: jakarta-tapestry/doc/src/ComponentReference Block.html FieldLabel.html RenderBlock.html Select.html TextField.html ValidField.html

dsolis      2003/05/21 12:39:21

  Modified:    doc/src/ComponentReference Block.html FieldLabel.html
                        RenderBlock.html Select.html TextField.html
                        ValidField.html
  Log:
  Improve documentation. Add examples for FieldLabel, Block and RenderBlock.
  
  Revision  Changes    Path
  1.8       +4 -5      jakarta-tapestry/doc/src/ComponentReference/Block.html
  
  Index: Block.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/Block.html,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Block.html	6 Mar 2003 17:19:17 -0000	1.7
  +++ Block.html	21 May 2003 19:39:20 -0000	1.8
  @@ -100,10 +100,9 @@
   </tr>
   
   <tr>
  - <td colspan="2">
  -  <b>Examples</b>
  -	<p>
  -  This example is under construction.</p>
  +          <td colspan="2"> <b>Examples</b> 
  +            <p> Please see the documentation for the <a href="RenderBlock.html">RenderBlock</a> 
  +              component.</p>
         
   
    </td></tr></table>
  
  
  
  1.9       +2 -2      jakarta-tapestry/doc/src/ComponentReference/FieldLabel.html
  
  Index: FieldLabel.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/FieldLabel.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- FieldLabel.html	24 Mar 2003 20:41:43 -0000	1.8
  +++ FieldLabel.html	21 May 2003 19:39:20 -0000	1.9
  @@ -123,7 +123,7 @@
    <td colspan="2">
     <b>Examples</b>
   	<p>
  -  This example is under construction.</p>
  +  Please see the documentation for the <A href="ValidField.html">ValidField</a> component.</p>
         
   
    </td></tr></table>
  
  
  
  1.4       +130 -5    jakarta-tapestry/doc/src/ComponentReference/RenderBlock.html
  
  Index: RenderBlock.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/RenderBlock.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RenderBlock.html	6 Mar 2003 17:19:17 -0000	1.3
  +++ RenderBlock.html	21 May 2003 19:39:20 -0000	1.4
  @@ -110,11 +110,136 @@
   <tr>
    <td colspan="2">
     <b>Examples</b>
  -	<p>
  -  This example is under construction.</p>
  -      
  +	        <p> This example shows a page with a custom TabPanel component. When 
  +              a user selects a tab, TabPanel switches content. Each tab content 
  +              is defined by a Block.</p>
  +			<table border="0" width="50%" cellspacing="0" cellpadding="0">
  +<tr>
  +  <td width="10">&nbsp;</td>
  +  <td>
  +    <table border="0"  cellspacing="0" cellpadding="5">
  +       <tr>
  +<td bgcolor="#FFFF00">
   
  - </td></tr></table>
  +Berlin
  +
  +</td> <td width="1"></td>
  +
  +<td bgcolor="#CCFFFF">
  +Rome
  +</td> <td width="1"></td>
  +
  +<td bgcolor="#CCFFFF">
  +Tokyo
  +</td> <td width="1"></td>
  +</tr>
  +    </table>
  +  </td>
  +  <td width="10" >&nbsp;</td>
  +</tr>
  +
  +
  +<tr>
  +<td colspan="3" bgcolor="#00CC33" height="5">&nbsp;</td>
  +</tr>
  +
  +<tr>
  +<td width="10" bgcolor="#00CC33">&nbsp;</td> <td align="center">
  + <H1>Berlin</H1>
  + </td>
  +<td width="10" bgcolor="#00CC33">&nbsp;</td>
  +</tr>
  +
  +<tr>
  +<td colspan="3" bgcolor="#00CC33" height="5">&nbsp;</td>
  +</tr>
  +
  +</table>
  +<br>
  +            <pre>&lt;html title=&quot;TabPanel Test&quot;&gt;<br>    &lt;body&gt;<br>        &lt;span jwcid=&quot;@TabPanel&quot; blockNames='ognl:{&quot;Berlin&quot;, &quot;Rome&quot;, &quot;Tokyo&quot;}' selectColor=&quot;#FFFF00&quot; unSelectColor=&quot;#CCFFFF&quot; borderColor=&quot;#00CC33&quot;/&gt;<br>        &lt;span jwcid=&quot;Berlin@<a href="Block.html">Block</a>&quot;&gt;<br>            &lt;H1&gt;Berlin&lt;/H1&gt;<br>        &lt;/span&gt;<br>        &lt;span jwcid=&quot;Rome@<a href="Block.html">Block</a>&quot;&gt;<br>            &lt;H1&gt;Rome&lt;/H1&gt;<br>        &lt;/span&gt;<br>        &lt;span jwcid=&quot;Tokyo@<a href="Block.html">Block</a>&quot;&gt;<br>            &lt;H1&gt;Tokyo&lt;/H1&gt;<br>        &lt;/span&gt;<br>    &lt;/body&gt;<br>&lt;/html&gt;
  +</pre>
  +            <br>
  +            TabPanel.html
  +            <pre>&lt;table border=&quot;0&quot; width=&quot;50%&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;<br>    &lt;tr&gt;<br>        &lt;td width=&quot;10&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>        &lt;td&gt;<br>            &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;5&quot;&gt;<br>                &lt;tr&gt;<br>                    &lt;span jwcid=&quot;foreach@Foreach&quot; source=&quot;ognl:blockNames&quot; value=&quot;ognl:currentBlock&quot;&gt;<br>                        &lt;td jwcid=&quot;@Any&quot; element=&quot;td&quot; bgcolor=&quot;ognl:tabCellColor&quot;&gt;<br>                            &lt;a jwcid=&quot;link&quot;&gt;<br>                                &lt;span jwcid=&quot;@Insert&quot; value=&quot;ognl:components.foreach.value&quot;&gt;Tab Title&lt;/span&gt;<br>                            &lt;/a&gt;<br>                        &lt;/td&gt;<br>                        &lt;td width=&quot;1&quot;&gt;&lt;/td&gt;<br>                    &lt;/span&gt;<br>                &lt;/tr&gt;<br>            &lt;/table&gt;<br>        &lt;/td&gt;<br>        &lt;td width=&quot;10&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>    &lt;/tr&gt;<br>    &lt;tr&gt;<br>        &lt;td jwcid=&quot;@Any&quot; element=&quot;td&quot; height=&quot;5&quot; bgcolor=&quot;ognl:borderColor&quot; colspan=&quot;3&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>    &lt;/tr&gt;<br>    &lt;tr&gt;<br>        &lt;td jwcid=&quot;@Any&quot; element=&quot;td&quot; width=&quot;10&quot; bgcolor=&quot;ognl:borderColor&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>        &lt;td align=&quot;center&quot;&gt;<br>            &lt;span jwcid=&quot;@<a href="RenderBlock.html">RenderBlock</a>&quot; block='ognl:block'&gt;Page content goes here&lt;/span&gt;<br>        &lt;/td&gt;<br>        &lt;td jwcid=&quot;@Any&quot; element=&quot;td&quot; width=&quot;10&quot; bgcolor=&quot;ognl:borderColor&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>    &lt;/tr&gt;<br>    &lt;tr&gt;<br>        &lt;td jwcid=&quot;@Any&quot; element=&quot;td&quot; height=&quot;5&quot; bgcolor=&quot;ognl:borderColor&quot; colspan=&quot;3&quot;&gt;&amp;nbsp;&lt;/td&gt;<br>    &lt;/tr&gt;<br>&lt;/table&gt;<br>
  +</pre>
  +<br>TabPanel.jwc 
  +            <pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br>&lt;!DOCTYPE component-specification<br>    PUBLIC &quot;-//Apache Software Foundation//Tapestry Specification 1.4//EN&quot;<br>    &quot;http://jakarta.apache.org/tapestry/dtd/Tapestry_1_4.dtd&quot;&gt;<br><br>&lt;component-specification class=&quot;spoc.components.TabPanel&quot; allow-body=&quot;no&quot; allow-informal-parameters=&quot;no&quot;&gt;<br>    &lt;parameter name=&quot;blockNames&quot; direction=&quot;in&quot; type=&quot;java.util.List&quot; required=&quot;yes&quot;/&gt;<br>    &lt;parameter name=&quot;selectColor&quot; direction=&quot;in&quot; type=&quot;java.lang.String&quot; required=&quot;no&quot;/&gt;<br>    &lt;parameter name=&quot;unSelectColor&quot; direction=&quot;in&quot; type=&quot;java.lang.String&quot; required=&quot;no&quot;/&gt;<br>    &lt;parameter name=&quot;borderColor&quot; direction=&quot;in&quot; type=&quot;java.lang.String&quot; required=&quot;no&quot;/&gt;<br><br>    &lt;component id=&quot;link&quot; type=&quot;DirectLink&quot;&gt;<br>        &lt;binding name=&quot;listener&quot; expression=&quot;listeners.selectBlock&quot;/&gt;<br>        &lt;binding name=&quot;parameters&quot; expression=&quot;components.foreach.value&quot;/&gt;<br>        &lt;binding name=&quot;disabled&quot; expression=&quot;currentBlock == selectedBlock&quot;/&gt;<br>        &lt;binding name=&quot;stateful&quot; expression=&quot;false&quot;/&gt;<br>    &lt;/component&gt;<br><br>    &lt;property-specification name=&quot;selectedBlock&quot; type=&quot;java.lang.String&quot;/&gt;<br>    &lt;property-specification name=&quot;currentBlock&quot; type=&quot;java.lang.String&quot;/&gt;<br>&lt;/component-specification&gt;<br>
  +</pre>
  +<br>TabPanel.java
  +            <pre>package com.dsconsulting.tapestry.components;
  +
  +import org.apache.tapestry.BaseComponent;
  +import org.apache.tapestry.IRequestCycle;
  +import org.apache.tapestry.components.Block;
  +
  +import java.util.List;
  +
  +
  +public abstract class TabPanel extends BaseComponent {
  +
  +    public static final String SELECT_COLOR = "#7D000D";
  +    public static final String UNSELECT_COLOR = "#C0C0C0";
  +
  +    private String _borderColor = SELECT_COLOR;
  +    private List _blockNames;
  +
  +    public List getBlockNames() {
  +        return _blockNames;
  +    }
  +
  +    public void setBlockNames(List value) {
  +        _blockNames = value;
  +        if (getSelectedBlock() == null) {
  +            String defaultComponent = getDefaultBlock();
  +            setSelectedBlock(defaultComponent);
  +            setCurrentBlock(defaultComponent);
  +        }
  +    }
  +
  +    public String getTabCellColor() {
  +        String selectColor = getSelectColor();
  +        String unSelectColor = getUnSelectColor();
  +        return getCurrentBlock().equals(getSelectedBlock()) ?
  +                selectColor != null ? selectColor : SELECT_COLOR :
  +                unSelectColor != null ? unSelectColor : UNSELECT_COLOR;
  +    }
  +
  +    public String getBorderColor() {
  +        return _borderColor;
  +    }
  +
  +    public void setBorderColor(String value) {
  +        _borderColor = value;
  +    }
  +
  +     public void selectBlock(IRequestCycle cycle) {
  +        String block = (String) cycle.getServiceParameters()[0];
  +        setSelectedBlock(block);
  +        fireObservedChange("selectedBlock", block);
  +    }
  +
  +    public Block getBlock() {
  +        return (Block) getPage().getComponent(getSelectedBlock());
  +    }
  +
  +    public String getDefaultBlock() {
  +        List tabComponents = getBlockNames();
  +        return  tabComponents != null ? (String)tabComponents.get(0) : null;
  +    }
  +
  +    public abstract String getSelectColor();
  +    public abstract String getUnSelectColor();
  +
  +    public abstract String getSelectedBlock();
  +    public abstract void setSelectedBlock(String value);
  +
  +    public abstract String getCurrentBlock();
  +    public abstract void setCurrentBlock(String value);
  +
  +}
  +</pre>
  +          </td>
  +        </tr></table>
   </td></tr>
   <tr>
    <td colspan="3"><hr></td>  
  
  
  
  1.13      +12 -19    jakarta-tapestry/doc/src/ComponentReference/Select.html
  
  Index: Select.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/Select.html,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Select.html	24 Mar 2003 20:41:43 -0000	1.12
  +++ Select.html	21 May 2003 19:39:20 -0000	1.13
  @@ -184,25 +184,18 @@
    	have it's selected property set to true (see below)<p>
    	
    	Which produces the following HTML:<p>
  -	<pre>
  -&lt;form method="post" name="Form0" action="/componentref"&gt;
  -&lt;input type="hidden" name="service" value="direct"&gt;
  -&lt;input type="hidden" name="context" value="Selection/form"&gt;
  -&lt;input type="hidden" name="sp" value="S0"&gt;
  -	Select a color:
  -&lt;select name="selection" multiple&gt;
  -&lt;option value="0"&gt;Green
  -&lt;option value="1"&gt;Blue
  -&lt;option value="2"&gt;Red
  -&lt;option value="3"&gt;White
  -&lt;option value="4"&gt;Purple
  -&lt;option value="5"&gt;Dark Black
  -&lt;option value="6"&gt;Fiji Blue
  -&lt;/select&gt;
  -&lt;input type="hidden" name="Form0" value="1"&gt;
  +	        <pre>&lt;form method=&quot;post&quot; name=&quot;Form0&quot; action=&quot;/componentref&quot;&gt;<br>   &lt;input type=&quot;hidden&quot; name=&quot;service&quot; value=&quot;direct/0/SelectPage/$Form&quot;/&gt;<br>   &lt;input type=&quot;hidden&quot; name=&quot;sp&quot; value=&quot;S0&quot;/&gt;<br>   &lt;input type=&quot;hidden&quot; name=&quot;Form0&quot; value=&quot;$Select&quot;/&gt;<br>   Select a color<br>   &lt;select name=&quot;$Select&quot; multiple=&quot;multiple&quot;&gt;
  +      &lt;option value=&quot;0&quot;&gt;Green&lt;/option&gt;
  +      &lt;option value=&quot;1&quot;&gt;Blue&lt;/option&gt;
  +      &lt;option value=&quot;2&quot;&gt;Red&lt;/option&gt;
  +      &lt;option value=&quot;3&quot;&gt;White&lt;/option&gt;
  +      &lt;option value=&quot;4&quot;&gt;Purple&lt;/option&gt;
  +      &lt;option value=&quot;5&quot;&gt;Dark Black&lt;/option&gt;
  +      &lt;option value=&quot;6&quot;&gt;Fiji Blue&lt;/option&gt;
  +   &lt;/select&gt;
   &lt;/form&gt;
  -	</pre>
  -</td>
  +			</pre>
  +          </td>
   </tr>
   
   <tr>
  
  
  
  1.11      +3 -3      jakarta-tapestry/doc/src/ComponentReference/TextField.html
  
  Index: TextField.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/TextField.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- TextField.html	24 Mar 2003 20:41:43 -0000	1.10
  +++ TextField.html	21 May 2003 19:39:20 -0000	1.11
  @@ -147,9 +147,9 @@
    &lt;table valign="middle"&gt;
     &lt;tr&gt;
      &lt;td&gt;Id&lt;/td&gt;
  -   &lt;td&gt;span jwcid="<span class="jwcid">@<a href="TextField.html">TextField</a></span>" value="ognl:visit.id" size="8"/&gt;&lt;/td&gt;
  +   &lt;td&gt;&lt;span jwcid="inputId<span class="jwcid">@<a href="TextField.html">TextField</a></span>" value="ognl:visit.id" size="8"/&gt;&lt;/td&gt;
      &lt;td&gt;Password&lt;/td&gt;
  -   &lt;td&gt;&lt;span jwcid="<span class="jwcid">@<a href="TextField.html">TextField</a></span>" value="ognl:visit.password" hidden=&quot;ognl:true&quot; size="8"/&gt;&lt;/td&gt;
  +   &lt;td&gt;&lt;span jwcid="inputPassword<span class="jwcid">@<a href="TextField.html">TextField</a></span>" value="ognl:visit.password" hidden=&quot;ognl:true&quot; size="8"/&gt;&lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr&gt;
      &lt;td colspan="4" align="right"&gt;&lt;input type="submit" value="Submit"/&gt;&lt;/td&gt;
  
  
  
  1.19      +2 -37     jakarta-tapestry/doc/src/ComponentReference/ValidField.html
  
  Index: ValidField.html
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/doc/src/ComponentReference/ValidField.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ValidField.html	24 Mar 2003 20:41:43 -0000	1.18
  +++ ValidField.html	21 May 2003 19:39:20 -0000	1.19
  @@ -269,42 +269,7 @@
   
               <pre>
   
  -&lt;form jwcid="@<a href="Form.html">Form</a>" delegate="ognl:beans.delegate"&gt;
  -&lt;table class="examples" cellpadding="2"&gt;
  -&lt;tr&gt;
  - &lt;td colspan="2"&gt;&lt;span class="title"&gt;Regal Auctions Bid Page&lt;/span&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td colspan="2"&gt;&lt;hr&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td colspan="2"&gt;&lt;span jwcid="@ShowError" delegate="ognl:beans.delegate"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td&gt;Lot Number&lt;/td&gt;&lt;td&gt;&lt;input jwcid="<span class="jwcid">lotNoField</span>" type="text" size="4" maxlength="4"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td&gt;Bid Amount&lt;/td&gt;&lt;td&gt;&lt;input jwcid="<span class="jwcid">bidAmountField</span>" type="text" size="7" maxlength="7"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td&lt;Full Name&lt;/td&gt;&lt;td&gt;&lt;input jwcid="<span class="jwcid">fullNameField</span>" type="text" size="25" maxlength="30"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td&gt;Email&lt;/td&gt;&lt;td&gt;&lt;input jwcid="<span class="jwcid">emailField</span>" type="text" size="25" maxlength="30"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td&gt;Telphone&lt;/td&gt;&lt;td&gt;&lt;input jwcid="<span class="jwcid">telephoneField</span>" type="text" size="25" maxlength="30"/&gt;&lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;tr&gt;
  - &lt;td colspan="2" align="right"&gt;
  -  &lt;input jwcid="@<a href="Submit.html">Submit</a>" listener="ognl:listeners.okSubmit"  type="Submit" value="   OK   "/&gt;
  -  &lt;input jwcid="@<a href="Submit.html">Submit</a>" listener="ognl:listeners.cancelSubmit"onclick="form.onsubmit = null;"/&gt;
  - &lt;/td&gt;
  -&lt;/tr&gt;
  -&lt;/table&gt;
  -&lt;/form&gt;
  -
  -
  +&lt;form jwcid=&quot;@<A href="Form.html">Form</A>&quot; delegate=&quot;ognl:beans.delegate&quot;&gt;<br>&lt;table class=&quot;examples&quot; cellpadding=&quot;2&quot;&gt;<br>&lt;tr&gt;<br> &lt;td colspan=&quot;2&quot;&gt;&lt;span class=&quot;title&quot;&gt;Regal Auctions Bid Page&lt;/span&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td colspan=&quot;2&quot;&gt;&lt;hr&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td colspan=&quot;2&quot;&gt;&lt;span jwcid=&quot;@ShowError&quot; delegate=&quot;ognl:beans.delegate&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td&gt;&lt;span jwcid=&quot;@<A href="FieldLabel.html">FieldLabel</A>&quot; field=&quot;ognl:components.lotNoField&quot;&gt;Lot Number&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;input jwcid=&quot;lotNoField&quot; type=&quot;text&quot; size=&quot;4&quot; maxlength=&quot;4&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td&gt;&lt;span jwcid=&quot;@<A href="FieldLabel.html">FieldLabel</A>&quot; field=&quot;ognl:components.bidAmountField&quot;&gt;Bid Amount&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;input jwcid=&quot;bidAmountField&quot; type=&quot;text&quot; size=&quot;7&quot; maxlength=&quot;7&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td&gt;&lt;span jwcid=&quot;@<A href="FieldLabel.html">FieldLabel</A>&quot; field=&quot;ognl:components.fullNameField&quot;&gt;Full Name&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;input jwcid=&quot;fullNameField&quot; type=&quot;text&quot; size=&quot;25&quot; maxlength=&quot;30&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td&gt;&lt;span jwcid=&quot;@<A href="FieldLabel.html">FieldLabel</A>&quot; field=&quot;ognl:components.emailField&quot;&gt;Email&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;input jwcid=&quot;emailField&quot; type=&quot;text&quot; size=&quot;25&quot; maxlength=&quot;30&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td&gt;&lt;span jwcid=&quot;@<A href="FieldLabel.html">FieldLabel</A>&quot; field=&quot;ognl:components.telephoneField&quot;&gt;Telephone&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;input jwcid=&quot;telephoneField&quot; type=&quot;text&quot; size=&quot;25&quot; maxlength=&quot;30&quot;/&gt;&lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;tr&gt;<br> &lt;td colspan=&quot;2&quot; align=&quot;right&quot;&gt;<br>  &lt;input jwcid=&quot;@Submit&quot; listener=&quot;ognl:listeners.okSubmit&quot;  type=&quot;Submit&quot; value=&quot;   OK   &quot;/&gt;<br>  &lt;input jwcid=&quot;@Submit&quot; listener=&quot;ognl:listeners.cancelSubmit&quot;onclick=&quot;form.onsubmit = null;&quot;/&gt;<br> &lt;/td&gt;<br>&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/form&gt;<br>
   &lt;bean name="delegate" class="com.mycorp.FormValidationDelegate"/&gt;
   
   &lt;bean name="lotNoValidator" class="<A href="../api/org/apache/tapestry/valid/NumberValidator.html">org.apache.tapestry.valid.NumberValidator</a>"&gt;