myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lu4...@apache.org
Subject svn commit: r801853 [2/2] - in /myfaces/core/trunk: api/src/main/java/javax/faces/component/html/ impl/ impl/src/main/conf/META-INF/ impl/src/main/java/org/apache/myfaces/view/facelets/tag/ impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/co...
Date Fri, 07 Aug 2009 01:12:28 GMT
Added: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java?rev=801853&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java
(added)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java
Fri Aug  7 01:12:26 2009
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.view.facelets.tag.ui;
+
+import javax.faces.component.UIComponentBase;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
+import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
+
+/**
+ * Just like composition has decorate as a non-trimming version of the same behavior,
+ * component has fragment. This allows you to logically insert a UIComponent into the 
+ * tree and possibly bind this fragment to a JavaBean property or Map for management. 
+ * The fragment tag was also added to Facelets to get around some of the optimizations 
+ * used in handling text within your document. If you are using components such as 
+ * <f:panelGrid/>, which renders its children, you may want more control over
the 
+ * building process that Facelets does and using a fragment tag will help guarantee 
+ * parent/child relationships for you.
+ * 
+ * <p>
+ * The component class used for this tag is 
+ * org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the 
+ * real java class that contains this description is not used on runtime.
+ * </p>
+ */
+@JSFComponent(
+        configExcluded=true,
+        defaultRendererType="javax.faces.resource.Script")
+abstract class _Fragment extends UIComponentBase
+{
+    public final static String COMPONENT_TYPE = "facelets.ui.ComponentRef";
+    public final static String COMPONENT_FAMILY = "facelets";
+
+
+    @JSFProperty(tagExcluded=true)
+    @Override
+    public boolean isRendered()
+    {
+        return super.isRendered();
+    }
+}

Propchange: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/tag/ui/_Fragment.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Added: myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_core20.vm
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_core20.vm?rev=801853&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_core20.vm (added)
+++ myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_core20.vm Fri Aug
 7 01:12:26 2009
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<taglib xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
+    version="2.1">
+   <description>$description</description>
+   <display-name>$displayname</display-name>
+   <tlib-version>2.0</tlib-version>
+   <short-name>$shortname</short-name>
+   <uri>$uri</uri>
+   
+   
+
+$baseContent
+
+    <!-- Component Tags -->
+#set ($componentList = ${model.getComponents()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>JSP</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.jspName</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isMethodExpression() || $property.isMethodBinding())
+#if ($property.getMethodBindingSignature())
+        <deferred-method>
+#set ($sig = $property.getMethodBindingSignature())
+            <method-signature>$sig.returnType myMethod( $sig.parameterTypesAsString
)</method-signature>
+
+        </deferred-method>
+#else
+## This is a very special case. If a property is MethodBinding or MethodExpression
+## this should have a signature. If not, for allow multiple MethodBinding
+## simulate a ValueExpression and write a custom code like in 
+## org.apache.myfaces.custom.suggestajax.AbstractSuggestAjaxTag
+         <deferred-value/>
+#end
+#elseif ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#if ( "$!property.isRtexprvalue()" == "")
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#elseif (($property.className == "java.util.Locale") && ($component.name == "f:view"))

+         <deferred-value>
+             <type>java.lang.Object</type>
+         </deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#else
+         <rtexprvalue>$property.isRtexprvalue().booleanValue()</rtexprvalue>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Converter tags -->
+#set ($componentList = ${model.getConverters()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>empty</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.name</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#elseif ($property.className == "java.util.Locale" && $component.name == "f:convertDateTime")

+         <deferred-value>
+             <type>java.lang.Object</type>
+         </deferred-value>
+#elseif ($property.className == "java.util.TimeZone" && $component.name == "f:convertDateTime")

+         <deferred-value>
+             <type>java.lang.Object</type>
+         </deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Validator tags -->
+#set ($componentList = ${model.getValidators()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>empty</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.name</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Single Tags -->
+#set ($tagList = $model.getTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($tag.name)})
+   <tag>
+      <description><![CDATA[$tag.longDescription]]></description>
+      <name>$utils.getTagName($tag.name)</name>
+      <tag-class>$tag.className</tag-class>
+      <body-content>$tag.bodyContent</body-content>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+      <attribute>
+#if ($attribute.longDescription)
+         <description><![CDATA[$attribute.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$attribute.name</name>
+         <required>$attribute.isRequired()</required>
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "ValueExpression")
+         <deferred-value></deferred-value>
+#else
+#if($attribute.isRtexprvalue())
+         <deferred-value>
+             <type>$attribute.className</type>
+         </deferred-value>
+#else
+         <rtexprvalue>$attribute.isRtexprvalue()</rtexprvalue>
+#if ($attribute.className)         
+         <type>$attribute.className</type>
+#else
+         <type>java.lang.String</type>
+#end
+#end
+#end
+      </attribute>
+#end
+   </tag>
+#end
+#end
+#end
+#end
+
+   <!-- Facelets Tags -->
+#set ($tagList = $model.getFaceletTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+   <tag>
+      <description><![CDATA[$tag.longDescription]]></description>
+      <name>$utils.getTagName($tag.name)</name>
+      <tag-class>$tag.className</tag-class>
+      <body-content>$tag.bodyContent</body-content>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+      <attribute>
+#if ($attribute.longDescription)
+         <description><![CDATA[$attribute.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$attribute.name</name>
+         <required>$attribute.isRequired()</required>
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "ValueExpression")
+         <deferred-value></deferred-value>
+#else
+#if($attribute.isRtexprvalue())
+         <deferred-value>
+             <type>$attribute.className</type>
+         </deferred-value>
+#else
+         <rtexprvalue>$attribute.isRtexprvalue()</rtexprvalue>
+#if ($attribute.className)         
+         <type>$attribute.className</type>
+#else
+         <type>java.lang.String</type>
+#end
+#end
+#end
+      </attribute>
+#end
+   </tag>
+#end
+#end
+#end
+</taglib>

Added: myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm?rev=801853&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm (added)
+++ myfaces/core/trunk/impl/src/main/resources/META-INF/myfaces_facelet_html20.vm Fri Aug
 7 01:12:26 2009
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<taglib xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
+    version="2.1">
+   <description>$description</description>
+   <display-name>$displayname</display-name>
+   <tlib-version>2.0</tlib-version>
+   <short-name>$shortname</short-name>
+   <uri>$uri</uri>
+   
+   
+
+$baseContent
+
+    <!-- Component Tags -->
+#set ($componentList = ${model.getComponents()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>JSP</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.jspName</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isMethodExpression() || $property.isMethodBinding())
+#if ($property.getMethodBindingSignature())
+        <deferred-method>
+#set ($sig = $property.getMethodBindingSignature())
+            <method-signature>$sig.returnType myMethod( $sig.parameterTypesAsString
)</method-signature>
+
+        </deferred-method>
+#else
+## This is a very special case. If a property is MethodBinding or MethodExpression
+## this should have a signature. If not, for allow multiple MethodBinding
+## simulate a ValueExpression and write a custom code like in 
+## org.apache.myfaces.custom.suggestajax.AbstractSuggestAjaxTag
+         <deferred-value/>
+#end
+#elseif ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#if ( "$!property.isRtexprvalue()" == "")
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#else
+         <rtexprvalue>$property.isRtexprvalue().booleanValue()</rtexprvalue>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Converter tags -->
+#set ($componentList = ${model.getConverters()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>empty</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.name</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Validator tags -->
+#set ($componentList = ${model.getValidators()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+   <tag>
+      <description><![CDATA[$component.longDescription]]></description>
+      <name>$utils.getTagName($component.name)</name>
+      <tag-class>$component.tagClass</tag-class>
+#if ($component.bodyContent)
+      <body-content>$component.bodyContent</body-content>
+#else
+      <body-content>empty</body-content>
+#end
+      
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+      <attribute>
+#if ($property.longDescription)
+         <description><![CDATA[$property.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$property.name</name>
+#if ($property.isRequired())
+         <required>$property.isRequired()</required>
+#end
+#if ($property.isLiteralOnly())
+         <rtexprvalue>false</rtexprvalue>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if ($type == "String")
+         <deferred-value></deferred-value>
+#else
+         <deferred-value>
+             <type>$property.className</type>
+         </deferred-value>
+#end
+#end
+      </attribute>
+#end
+#end
+   </tag>
+#end
+#end
+#end
+#end
+   <!-- Single Tags -->
+#set ($tagList = $model.getTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($tag.name)})
+   <tag>
+      <description><![CDATA[$tag.longDescription]]></description>
+      <name>$utils.getTagName($tag.name)</name>
+      <tag-class>$tag.className</tag-class>
+      <body-content>$tag.bodyContent</body-content>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+      <attribute>
+#if ($attribute.longDescription)
+         <description><![CDATA[$attribute.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$attribute.name</name>
+         <required>$attribute.isRequired()</required>
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "ValueExpression")
+         <deferred-value></deferred-value>
+#else
+#if($attribute.isRtexprvalue())
+         <deferred-value>
+             <type>$attribute.className</type>
+         </deferred-value>
+#else
+         <rtexprvalue>$attribute.isRtexprvalue()</rtexprvalue>
+#if ($attribute.className)         
+         <type>$attribute.className</type>
+#else
+         <type>java.lang.String</type>
+#end
+#end
+#end
+      </attribute>
+#end
+   </tag>
+#end
+#end
+#end
+#end
+
+   <!-- Facelets Tags -->
+#set ($tagList = $model.getFaceletTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+   <tag>
+      <description><![CDATA[$tag.longDescription]]></description>
+      <name>$utils.getTagName($tag.name)</name>
+      <tag-class>$tag.className</tag-class>
+      <body-content>$tag.bodyContent</body-content>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+      <attribute>
+#if ($attribute.longDescription)
+         <description><![CDATA[$attribute.longDescription]]></description>
+#else
+         <description><![CDATA[]]></description>
+#end
+         <name>$attribute.name</name>
+         <required>$attribute.isRequired()</required>
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "ValueExpression")
+         <deferred-value></deferred-value>
+#else
+#if($attribute.isRtexprvalue())
+         <deferred-value>
+             <type>$attribute.className</type>
+         </deferred-value>
+#else
+         <rtexprvalue>$attribute.isRtexprvalue()</rtexprvalue>
+#if ($attribute.className)         
+         <type>$attribute.className</type>
+#else
+         <type>java.lang.String</type>
+#end
+#end
+#end
+      </attribute>
+#end
+   </tag>
+#end
+#end
+#end
+</taglib>



Mime
View raw message