Author: apetrelli
Date: Sat Feb 27 12:20:21 2010
New Revision: 916947

URL: http://svn.apache.org/viewvc?rev=916947&view=rev
Log:
TILESSB-21
TILESSB-22
Adapted changes to template model style to autotag-core and autotag-jsp.

Modified:
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleTemplate.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
    
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/resources/tldtest-jsp.tld

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactory.java
 Sat Feb 27 12:20:21 2010
@@ -6,6 +6,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.model.TemplateClass;
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
@@ -70,26 +71,16 @@
             if (tagClassPrefix != null) {
                 String tagName = tagClassPrefix.substring(0, 1).toLowerCase()
                         + tagClassPrefix.substring(1);
-                TemplateMethod startMethod = null;
-                TemplateMethod endMethod = null;
                 TemplateMethod executeMethod = null;
                 for (JavaMethod method : clazz.getMethods()) {
                     if (isFeasible(method)) {
-                        if ("start".equals(method.getName())) {
-                            TemplateMethod templateMethod = 
createMethod(method);
-                            startMethod = templateMethod;
-                        } else if ("end".equals(method.getName())) {
-                            endMethod = createMethod(method);
-                        } else if ("execute".equals(method.getName())) {
-                            executeMethod = createMethod(method);
-                        }
+                        executeMethod = createMethod(method);
                     }
                 }
-                if ((startMethod != null && endMethod != null)
-                        || executeMethod != null) {
+                if (executeMethod != null) {
                     TemplateClass templateClass = new TemplateClass(clazz
                             .getFullyQualifiedName(), tagName, tagClassPrefix,
-                            startMethod, endMethod, executeMethod);
+                            executeMethod);
                     templateClass.setDocumentation(clazz.getComment());
                     classes.add(templateClass);
                 }
@@ -117,7 +108,7 @@
         for (JavaParameter parameter : method.getParameters()) {
             TemplateParameter templateParameter = new TemplateParameter(
                     parameter.getName(), parameter.getType()
-                            .getFullyQualifiedName(), false, false);
+                            .getFullyQualifiedName(), false);
             params.add(templateParameter);
         }
         TemplateMethod templateMethod = new TemplateMethod(method.getName(),
@@ -142,7 +133,8 @@
 
     private boolean isFeasible(JavaMethod method) {
         Type returns = method.getReturns();
-        if (returns != null && "void".equals(returns.getFullyQualifiedName())
+        if ("execute".equals(method.getName()) && returns != null
+                && "void".equals(returns.getFullyQualifiedName())
                 && method.isPublic() && !method.isStatic()
                 && !method.isAbstract() && !method.isConstructor()) {
             JavaParameter[] params = method.getParameters();
@@ -153,6 +145,16 @@
                     return true;
                 }
             }
+            if (params.length >= 2) {
+                JavaParameter param1 = params[params.length - 2];
+                JavaParameter param2 = params[params.length - 1];
+                if (Request.class.getName().equals(
+                        param1.getType().getFullyQualifiedName())
+                        && ModelBody.class.getName().equals(
+                                param2.getType().getFullyQualifiedName())) {
+                    return true;
+                }
+            }
         }
         return false;
     }

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java
 Sat Feb 27 12:20:21 2010
@@ -14,24 +14,17 @@
 
     private String documentation;
 
-    private TemplateMethod startMethod;
-
-    private TemplateMethod endMethod;
-
     private TemplateMethod executeMethod;
 
     public TemplateClass(String name) {
-        this(name, null, null, null, null, null);
+        this(name, null, null, null);
     }
 
     public TemplateClass(String name, String tagName, String tagClassPrefix,
-            TemplateMethod startMethod, TemplateMethod endMethod,
             TemplateMethod executeMethod) {
         this.name = name;
         this.tagName = tagName;
         this.tagClassPrefix = tagClassPrefix;
-        this.startMethod = startMethod;
-        this.endMethod = endMethod;
         this.executeMethod = executeMethod;
     }
 
@@ -55,22 +48,12 @@
         this.documentation = documentation;
     }
 
-    public TemplateMethod getStartMethod() {
-        return startMethod;
-    }
-
-    public TemplateMethod getEndMethod() {
-        return endMethod;
-    }
-
     public TemplateMethod getExecuteMethod() {
         return executeMethod;
     }
 
     public Collection<TemplateParameter> getParameters() {
         Map<String, TemplateParameter> params = new LinkedHashMap<String, 
TemplateParameter>();
-        fillRegularParameters(params, startMethod);
-        fillRegularParameters(params, endMethod);
         fillRegularParameters(params, executeMethod);
         return params.values();
     }
@@ -87,14 +70,13 @@
     }
 
     public boolean hasBody() {
-        return (startMethod != null && endMethod != null);
+        return executeMethod.hasBody();
     }
 
     @Override
     public String toString() {
-        return "TemplateClass\n[documentation=" + documentation + 
",\nendMethod="
-                + endMethod + ",\nexecuteMethod=" + executeMethod + ",\nname="
-                + name + ",\nstartMethod=" + startMethod + "]";
+        return "TemplateClass\n[documentation=" + documentation
+                + ",\nexecuteMethod=" + executeMethod + ",\nname=" + name + 
"]";
     }
 
 }

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java
 Sat Feb 27 12:20:21 2010
@@ -41,6 +41,17 @@
         return parameters.get(name);
     }
 
+    public boolean hasBody() {
+        if (parameters.size() >= 2) {
+            for (TemplateParameter param : parameters.values()) {
+                if (param.isBody()) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     @Override
     public String toString() {
         return "TemplateMethod\n[documentation=" + documentation + ", name="

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java
 Sat Feb 27 12:20:21 2010
@@ -1,5 +1,6 @@
 package org.apache.tiles.autotag.model;
 
+import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.request.Request;
 
 public class TemplateParameter {
@@ -12,14 +13,10 @@
 
     private boolean required;
 
-    private boolean body;
-
-    public TemplateParameter(String name, String type, boolean required,
-            boolean body) {
+    public TemplateParameter(String name, String type, boolean required) {
         this.name = name;
         this.type = type;
         this.required = required;
-        this.body = body;
     }
 
     public String getDocumentation() {
@@ -43,7 +40,7 @@
     }
 
     public boolean isBody() {
-        return body;
+        return ModelBody.class.getName().equals(type);
     }
 
     public boolean isRequest() {
@@ -52,7 +49,7 @@
 
     @Override
     public String toString() {
-        return "TemplateParameter\n[body=" + body + ",\ndocumentation="
+        return "TemplateParameter\n[documentation="
                 + documentation + ",\nname=" + name + ", required=" + required
                 + ", type=" + type + "]";
     }

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/QDoxTemplateSuiteFactoryTest.java
 Sat Feb 27 12:20:21 2010
@@ -11,6 +11,7 @@
 import org.apache.tiles.autotag.core.internal.ExampleExecutableTemplate;
 import org.apache.tiles.autotag.core.internal.ExampleTemplate;
 import org.apache.tiles.autotag.core.internal.NotFeasibleExampleTemplate;
+import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.model.TemplateClass;
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
@@ -54,13 +55,14 @@
         assertNotNull(templateClass);
         assertEquals(ExampleTemplate.class.getName(), templateClass.getName());
         assertEquals("Example start/stop template.", 
templateClass.getDocumentation());
-        assertNull(templateClass.getExecuteMethod());
-        TemplateMethod templateMethod = templateClass.getStartMethod();
+        TemplateMethod templateMethod = templateClass.getExecuteMethod();
         assertNotNull(templateMethod);
-        assertEquals("start", templateMethod.getName());
+        assertTrue(templateMethod.hasBody());
+        assertTrue(templateClass.hasBody());
+        assertEquals("execute", templateMethod.getName());
         assertEquals("It starts.", templateMethod.getDocumentation());
         List<TemplateParameter> parameters = new 
ArrayList<TemplateParameter>(templateMethod.getParameters());
-        assertEquals(3, parameters.size());
+        assertEquals(4, parameters.size());
         TemplateParameter parameter = parameters.get(0);
         assertEquals("one", parameter.getName());
         assertEquals("java.lang.String", parameter.getType());
@@ -73,32 +75,15 @@
         assertEquals("request", parameter.getName());
         assertEquals(Request.class.getName(), parameter.getType());
         assertEquals("The request.", parameter.getDocumentation());
-
-        templateMethod = templateClass.getEndMethod();
-        assertNotNull(templateMethod);
-        assertEquals("end", templateMethod.getName());
-        assertEquals("It ends.", templateMethod.getDocumentation());
-        parameters = new 
ArrayList<TemplateParameter>(templateMethod.getParameters());
-        assertEquals(3, parameters.size());
-        parameter = parameters.get(0);
-        assertEquals("three", parameter.getName());
-        assertEquals("java.lang.Double", parameter.getType());
-        assertEquals("Parameter three.", parameter.getDocumentation());
-        parameter = parameters.get(1);
-        assertEquals("four", parameter.getName());
-        assertEquals("long", parameter.getType());
-        assertEquals("Parameter four.", parameter.getDocumentation());
-        parameter = parameters.get(2);
-        assertEquals("request", parameter.getName());
-        assertEquals(Request.class.getName(), parameter.getType());
-        assertEquals("The request.", parameter.getDocumentation());
+        parameter = parameters.get(3);
+        assertEquals("modelBody", parameter.getName());
+        assertEquals(ModelBody.class.getName(), parameter.getType());
+        assertEquals("The model body.", parameter.getDocumentation());
 
         templateClass = 
suite.getTemplateClassByName(ExampleExecutableTemplate.class.getName());
         assertNotNull(templateClass);
         assertEquals(ExampleExecutableTemplate.class.getName(), 
templateClass.getName());
         assertEquals("Example executable template.", 
templateClass.getDocumentation());
-        assertNull(templateClass.getStartMethod());
-        assertNull(templateClass.getEndMethod());
         templateMethod = templateClass.getExecuteMethod();
         assertNotNull(templateMethod);
         assertEquals("execute", templateMethod.getName());

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleTemplate.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleTemplate.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleTemplate.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-core/src/test/java/org/apache/tiles/autotag/core/internal/ExampleTemplate.java
 Sat Feb 27 12:20:21 2010
@@ -1,5 +1,6 @@
 package org.apache.tiles.autotag.core.internal;
 
+import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.request.Request;
 
 /**
@@ -15,19 +16,9 @@
      * @param one Parameter one.
      * @param two Parameter two.
      * @param request The request.
+     * @param modelBody The model body.
      */
-    public void start(String one, int two, Request request) {
-        // Does nothing.
-    }
-
-    /**
-     * It ends.
-     *
-     * @param three Parameter three.
-     * @param four Parameter four.
-     * @param request The request.
-     */
-    public void end(Double three, long four, Request request) {
+    public void execute(String one, int two, Request request, ModelBody 
modelBody) {
         // Does nothing.
     }
 }

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/main/resources/org/apache/tiles/autotag/jsp/tld.vm
 Sat Feb 27 12:20:21 2010
@@ -51,9 +51,9 @@
          <name>${parameter.name}</name>
          <required>${parameter.required}</required>
          <rtexprvalue>true</rtexprvalue>
+         <type>${parameter.type}</type>
       </attribute>
 #end
    </tag>
 #end
 </taglib>
-

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/java/org/apache/tiles/autotag/jsp/TLDGeneratorTest.java
 Sat Feb 27 12:20:21 2010
@@ -14,6 +14,7 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
+import org.apache.tiles.autotag.core.runtime.ModelBody;
 import org.apache.tiles.autotag.model.TemplateClass;
 import org.apache.tiles.autotag.model.TemplateMethod;
 import org.apache.tiles.autotag.model.TemplateParameter;
@@ -42,33 +43,48 @@
         file.deleteOnExit();
         TemplateSuite suite = new TemplateSuite("tldtest", "Test for TLD 
docs.");
         suite.getCustomVariables().put("taglibURI", 
"http://www.initrode.net/tags/test";);
+
         List<TemplateParameter> params = new ArrayList<TemplateParameter>();
-        TemplateParameter param = new TemplateParameter("one", 
"java.lang.String", true, false);
+        TemplateParameter param = new TemplateParameter("one", 
"java.lang.String", true);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("two", "int", false, false);
+        param = new TemplateParameter("two", "int", false);
         param.setDocumentation("Parameter two.");
         params.add(param);
-        param = new TemplateParameter("request", Request.class.getName(), 
false, false);
+        param = new TemplateParameter("three", "long", false);
+        param.setDocumentation("Parameter three.");
+        params.add(param);
+        param = new TemplateParameter("request", Request.class.getName(), 
false);
         param.setDocumentation("The request.");
         params.add(param);
-        TemplateMethod startMethod = new TemplateMethod("start", params);
+        param = new TemplateParameter("modelBody", ModelBody.class.getName(), 
false);
+        param.setDocumentation("The body.");
+        params.add(param);
+        TemplateMethod executeMethod = new TemplateMethod("execute", params);
+
+        TemplateClass clazz = new 
TemplateClass("org.apache.tiles.autotag.template.DoStuffTemplate",
+                "doStuff", "DoStuff", executeMethod);
+        clazz.setDocumentation("Documentation of the DoStuff class");
 
+        suite.addTemplateClass(clazz);
         params = new ArrayList<TemplateParameter>();
-        param = new TemplateParameter("one", "java.lang.String", true, false);
+        param = new TemplateParameter("one", "java.lang.Double", true);
         param.setDocumentation("Parameter one.");
         params.add(param);
-        param = new TemplateParameter("three", "long", false, false);
+        param = new TemplateParameter("two", "float", false);
+        param.setDocumentation("Parameter two.");
+        params.add(param);
+        param = new TemplateParameter("three", "java.util.Date", false);
         param.setDocumentation("Parameter three.");
         params.add(param);
-        param = new TemplateParameter("request", Request.class.getName(), 
false, false);
+        param = new TemplateParameter("request", Request.class.getName(), 
false);
         param.setDocumentation("The request.");
         params.add(param);
-        TemplateMethod endMethod = new TemplateMethod("end", params);
+        executeMethod = new TemplateMethod("execute", params);
 
-        TemplateClass clazz = new 
TemplateClass("org.apache.tiles.autotag.template.DoStuffTemplate",
-                "doStuff", "DoStuff", startMethod, endMethod, null);
-        clazz.setDocumentation("Documentation of the DoStuff class");
+        clazz = new 
TemplateClass("org.apache.tiles.autotag.template.DoStuffNoBodyTemplate",
+                "doStuffNoBody", "DoStuffNoBody", executeMethod);
+        clazz.setDocumentation("Documentation of the DoStuffNoBody class");
 
         suite.addTemplateClass(clazz);
 
@@ -84,7 +100,7 @@
         File effectiveFile = new File(file, "META-INF/tld/tldtest-jsp.tld");
         assertTrue(effectiveFile.exists());
         InputStream effective = new FileInputStream(effectiveFile);
-        IOUtils.contentEquals(effective, expected);
+        assertTrue(IOUtils.contentEquals(effective, expected));
 
         FileUtils.deleteDirectory(file);
     }

Modified: 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/resources/tldtest-jsp.tld
URL: 
http://svn.apache.org/viewvc/tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/resources/tldtest-jsp.tld?rev=916947&r1=916946&r2=916947&view=diff
==============================================================================
--- 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/resources/tldtest-jsp.tld
 (original)
+++ 
tiles/sandbox/trunk/tiles-autotag/tiles-autotag-jsp/src/test/resources/tldtest-jsp.tld
 Sat Feb 27 12:20:21 2010
@@ -30,6 +30,7 @@
          <name>one</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
+         <type>java.lang.String</type>
       </attribute>
       <attribute>
          <description>
@@ -40,6 +41,7 @@
          <name>two</name>
          <required>false</required>
          <rtexprvalue>true</rtexprvalue>
+         <type>int</type>
       </attribute>
       <attribute>
          <description>
@@ -50,7 +52,50 @@
          <name>three</name>
          <required>false</required>
          <rtexprvalue>true</rtexprvalue>
+         <type>long</type>
+      </attribute>
+   </tag>
+   <tag>
+      <description>
+      <![CDATA[
+      Documentation of the DoStuffNoBody class
+      ]]>
+      </description>
+      <name>doStuffNoBody</name>
+      <tag-class>org.apache.tiles.autotag.jsp.test.DoStuffNoBody</tag-class>
+      <body-content>empty</body-content>
+      <attribute>
+         <description>
+         <![CDATA[
+         Parameter one.
+         ]]>
+         </description>
+         <name>one</name>
+         <required>true</required>
+         <rtexprvalue>true</rtexprvalue>
+         <type>java.lang.Double</type>
+      </attribute>
+      <attribute>
+         <description>
+         <![CDATA[
+         Parameter two.
+         ]]>
+         </description>
+         <name>two</name>
+         <required>false</required>
+         <rtexprvalue>true</rtexprvalue>
+         <type>float</type>
+      </attribute>
+      <attribute>
+         <description>
+         <![CDATA[
+         Parameter three.
+         ]]>
+         </description>
+         <name>three</name>
+         <required>false</required>
+         <rtexprvalue>true</rtexprvalue>
+         <type>java.util.Date</type>
       </attribute>
    </tag>
 </taglib>
-


Reply via email to