struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lukaszlen...@apache.org
Subject [struts] 01/05: WW-5123 Makes labelpostion deprecated
Date Sun, 27 Jun 2021 07:30:27 GMT
This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch WW-5123-labelposition
in repository https://gitbox.apache.org/repos/asf/struts.git

commit e40afbc971b0553a85afb8189a3ff2902e39c1db
Author: Lukasz Lenart <lukaszlenart@apache.org>
AuthorDate: Mon Jun 14 20:27:48 2021 +0200

    WW-5123 Makes labelpostion deprecated
---
 .../ajaxErrorContainers/controlheader-core.ftl     |  12 +-
 .../java/org/apache/struts2/components/UIBean.java |  22 +-
 .../apache/struts2/views/jsp/ui/AbstractUITag.java |  17 +-
 .../apache/struts2/views/jsp/ui/CheckboxTag.java   |   7 +-
 .../template/archive/xhtml/controlheader.vm        |  47 +
 .../main/resources/template/css_xhtml/checkbox.ftl |  20 +-
 .../resources/template/css_xhtml/controlfooter.ftl |  12 +-
 .../template/css_xhtml/controlheader-core.ftl      |  14 +-
 .../resources/template/css_xhtml/controlheader.ftl |  11 +-
 .../main/resources/template/css_xhtml/reset.ftl    |  12 +-
 .../resources/template/css_xhtml/submit-close.ftl  |  10 +-
 .../main/resources/template/css_xhtml/submit.ftl   |  10 +-
 .../src/main/resources/template/xhtml/checkbox.ftl |  20 +-
 .../template/xhtml/controlheader-core.ftl          |  12 +-
 core/src/site/resources/tags/a.html                | 512 +++++++++++
 core/src/site/resources/tags/actionerror.html      | 400 +++++++++
 core/src/site/resources/tags/actionmessage.html    | 400 +++++++++
 core/src/site/resources/tags/checkbox.html         | 400 +++++++++
 core/src/site/resources/tags/checkboxlist.html     | 456 ++++++++++
 core/src/site/resources/tags/combobox.html         | 480 ++++++++++
 core/src/site/resources/tags/component.html        | 392 +++++++++
 core/src/site/resources/tags/datetextfield.html    | 400 +++++++++
 core/src/site/resources/tags/debug.html            | 392 +++++++++
 core/src/site/resources/tags/doubleselect.html     | 760 ++++++++++++++++
 core/src/site/resources/tags/fielderror.html       | 408 +++++++++
 core/src/site/resources/tags/file.html             | 408 +++++++++
 core/src/site/resources/tags/form.html             | 504 +++++++++++
 core/src/site/resources/tags/head.html             | 392 +++++++++
 core/src/site/resources/tags/hidden.html           | 392 +++++++++
 .../site/resources/tags/inputtransferselect.html   | 576 ++++++++++++
 core/src/site/resources/tags/label.html            | 400 +++++++++
 .../site/resources/tags/optiontransferselect.html  | 976 +++++++++++++++++++++
 core/src/site/resources/tags/password.html         | 440 ++++++++++
 core/src/site/resources/tags/radio.html            | 456 ++++++++++
 core/src/site/resources/tags/reset.html            | 432 +++++++++
 core/src/site/resources/tags/select.html           | 496 +++++++++++
 core/src/site/resources/tags/submit.html           | 432 +++++++++
 core/src/site/resources/tags/textarea.html         | 424 +++++++++
 core/src/site/resources/tags/textfield.html        | 432 +++++++++
 core/src/site/resources/tags/token.html            | 392 +++++++++
 core/src/site/resources/tags/updownselect.html     | 544 ++++++++++++
 41 files changed, 12841 insertions(+), 81 deletions(-)

diff --git a/apps/showcase/src/main/resources/template/ajaxErrorContainers/controlheader-core.ftl b/apps/showcase/src/main/resources/template/ajaxErrorContainers/controlheader-core.ftl
index 3b6ffb4..4dda1db 100644
--- a/apps/showcase/src/main/resources/template/ajaxErrorContainers/controlheader-core.ftl
+++ b/apps/showcase/src/main/resources/template/ajaxErrorContainers/controlheader-core.ftl
@@ -33,17 +33,17 @@
     </td><#lt/>
 </tr>
 </#if>
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelpos = parameters.labelPosition/>
 </#if>
 <#--
 	if the label position is top,
 	then give the label it's own row in the table
 -->
 <tr>
-<#if (labelpos!"") == 'top'>
+<#if (labelPos!"") == 'top'>
     <td class="tdLabelTop" colspan="2"><#rt/>
 <#else>
     <td class="tdLabel"><#rt/>
@@ -72,7 +72,7 @@ ${parameters.labelseparator!":"}<#t/>
 </#if>
     </td><#lt/>
 <#-- add the extra row -->
-<#if (labelpos!"") == 'top'>
+<#if (labelPos!"") == 'top'>
 </tr>
 <tr>
 </#if>
diff --git a/core/src/main/java/org/apache/struts2/components/UIBean.java b/core/src/main/java/org/apache/struts2/components/UIBean.java
index 2bafabc..d04a4672 100644
--- a/core/src/main/java/org/apache/struts2/components/UIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/UIBean.java
@@ -645,7 +645,7 @@ public abstract class UIBean extends Component {
     public void evaluateParams() {
         String templateDir = getTemplateDir();
         String theme = getTheme();
-        
+
         addParameter("templateDir", templateDir);
         addParameter("theme", theme);
         addParameter("template", template != null ? findString(template) : getDefaultTemplate());
@@ -689,7 +689,9 @@ public abstract class UIBean extends Component {
         }
 
         if (labelPosition != null) {
-            addParameter("labelposition", findString(labelPosition));
+            String labelPosition = findString(this.labelPosition);
+            addParameter("labelposition", labelPosition);
+            addParameter("labelPosition", labelPosition);
         }
 
         if (requiredPosition != null) {
@@ -699,7 +701,7 @@ public abstract class UIBean extends Component {
         if (errorPosition != null) {
             addParameter("errorposition", findString(errorPosition));
         }
-        
+
         if (requiredLabel != null) {
             addParameter("required", findValue(requiredLabel, Boolean.class));
         }
@@ -1114,11 +1116,21 @@ public abstract class UIBean extends Component {
         this.labelSeparator = labelseparator;
     }
 
-    @StrutsTagAttribute(description="Define label position of form element (top/left)")
+    /**
+     * Deprecated since 2.5.27
+     * @deprecated use {@link #setLabelPosition(String)} instead
+     */
+    @StrutsTagAttribute(description="(Deprecated) Define label position of form element (top/left)")
+    @Deprecated
     public void setLabelposition(String labelPosition) {
         this.labelPosition = labelPosition;
     }
 
+    @StrutsTagAttribute(description="Define label position of form element (top/left)")
+    public void setLabelPosition(String labelPosition) {
+        this.labelPosition = labelPosition;
+    }
+
     @StrutsTagAttribute(description="Define required position of required form element (left|right)")
     public void setRequiredPosition(String requiredPosition) {
         this.requiredPosition = requiredPosition;
@@ -1128,7 +1140,7 @@ public abstract class UIBean extends Component {
     public void setErrorPosition(String errorPosition) {
         this.errorPosition = errorPosition;
     }
-    
+
     @StrutsTagAttribute(description="The name to set for element")
     public void setName(String name) {
         this.name = name;
diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
index 677892e..5c7a835 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractUITag.java
@@ -18,9 +18,7 @@
  */
 package org.apache.struts2.views.jsp.ui;
 
-import org.apache.commons.lang3.ObjectUtils;
 import org.apache.struts2.components.UIBean;
-import org.apache.struts2.util.ComponentUtils;
 import org.apache.struts2.views.jsp.ComponentTagSupport;
 
 import javax.servlet.jsp.JspException;
@@ -40,7 +38,7 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
     protected String disabled;
     protected String label;
     protected String labelSeparator;
-    protected String labelposition;
+    protected String labelPosition;
     protected String requiredPosition;
     protected String errorPosition;
     protected String name;
@@ -92,7 +90,7 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
         uiBean.setDisabled(disabled);
         uiBean.setLabel(label);
         uiBean.setLabelSeparator(labelSeparator);
-        uiBean.setLabelposition(labelposition);
+        uiBean.setLabelPosition(labelPosition);
         uiBean.setRequiredPosition(requiredPosition);
         uiBean.setErrorPosition(errorPosition);
         uiBean.setName(name);
@@ -169,8 +167,17 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
         this.label = label;
     }
 
+    /**
+     * Deprecated since 2.5.27
+     * @deprecated use {@link #setLabelPosition(String)} instead
+     */
+    @Deprecated
     public void setLabelposition(String labelPosition) {
-        this.labelposition = labelPosition;
+        this.labelPosition = labelPosition;
+    }
+
+    public void setLabelPosition(String labelPosition) {
+        this.labelPosition = labelPosition;
     }
 
     public void setRequiredPosition(String requiredPosition) {
diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java
index 40abb16..5cfa22f 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/CheckboxTag.java
@@ -18,13 +18,12 @@
  */
 package org.apache.struts2.views.jsp.ui;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import com.opensymphony.xwork2.util.ValueStack;
 import org.apache.struts2.components.Checkbox;
 import org.apache.struts2.components.Component;
 
-import com.opensymphony.xwork2.util.ValueStack;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * @see Checkbox
diff --git a/core/src/main/resources/template/archive/xhtml/controlheader.vm b/core/src/main/resources/template/archive/xhtml/controlheader.vm
new file mode 100644
index 0000000..95a289b
--- /dev/null
+++ b/core/src/main/resources/template/archive/xhtml/controlheader.vm
@@ -0,0 +1,47 @@
+#*
+ * $Id$
+ *
+ * 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.
+ *#
+## Only show message if errors are available.
+## This will be done if ActionSupport is used.
+#if( $fieldErrors.get($parameters.name) )
+  #set ($hasFieldErrors = $fieldErrors.get($parameters.name))
+  #foreach ($error in $fieldErrors.get($parameters.name))
+    <tr errorFor="$parameters.id">
+        #if ($parameters.labelPosition == 'top')<td align="left" valign="top" colspan="2">#else<td align="center" valign="top" colspan="2">#end<span class="errorMessage">$!struts.htmlEncode($error)</span></td>
+    </tr>
+  #end
+#end
+## if the label position is top,
+## then give the label it's own row in the table
+<tr>
+#if ($parameters.labelPosition && $parameters.labelPosition == 'top')<td align="left" valign="top" colspan="2">#else<td align="right" valign="top">#end#if ($parameters.label)<label #if ($parameters.id) for="$!struts.htmlEncode($parameters.id)"#end#if ($hasFieldErrors) class="errorLabel"#else class="label"#end>#if ($parameters.required)<span class="required">*</span>#end$!struts.htmlEncode($parameters.label):</label>#end</td>
+## add the extra row
+#if ($parameters.labelPosition && $parameters.labelPosition == 'top')
+</tr>
+<tr>
+#end
+#if ($parameters.form.validate && $parameters.form.validate == true)
+    #if ($parameters.onblur)
+        #set ($parameters.onblur = "validate(this);${parameters.onblur}")
+    #else
+        #set ($parameters.onblur = "validate(this)")
+    #end
+#end
+    <td>
diff --git a/core/src/main/resources/template/css_xhtml/checkbox.ftl b/core/src/main/resources/template/css_xhtml/checkbox.ftl
index 8fe7000..55a8447 100644
--- a/core/src/main/resources/template/css_xhtml/checkbox.ftl
+++ b/core/src/main/resources/template/css_xhtml/checkbox.ftl
@@ -39,12 +39,12 @@ lables
 </#list>
 </div><#t/>
 </#if>
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"") == 'left'>
+<#if (labelPos!"") == 'left'>
 <span <#rt/>
 <#if parameters.id??>id="wwlbl_${parameters.id}"<#rt/></#if> class="wwlbl">
 <label<#t/>
@@ -60,7 +60,7 @@ lables
 </span>
 </#if>
 
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
@@ -72,14 +72,14 @@ lables
 </#if>
 
 <#include "/${parameters.templateDir}/simple/checkbox.ftl" />
-<#if (labelpos!"") != 'left'>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"") != 'left'>
+<#if (labelPos!"top") == 'top'>
 </div> <#rt/>
 <#else>
 </span>  <#rt/>
 </#if>
 <#if parameters.label??>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
@@ -98,7 +98,7 @@ lables
 </#if>
 </#if>
 <#if parameters.label??>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 </div> <#rt/>
 <#else>
 </span> <#rt/>
diff --git a/core/src/main/resources/template/css_xhtml/controlfooter.ftl b/core/src/main/resources/template/css_xhtml/controlfooter.ftl
index 492a0db..cf023d0 100644
--- a/core/src/main/resources/template/css_xhtml/controlfooter.ftl
+++ b/core/src/main/resources/template/css_xhtml/controlfooter.ftl
@@ -20,12 +20,12 @@
 -->
 ${parameters.after!}<#t/>
     <#lt/>
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 </div> <#rt/>
 <#else>
 </span> <#rt/>
@@ -46,4 +46,4 @@ ${parameters.after!}<#t/>
 </div><#t/>
 </#if>
 </#if>
-</div>
\ No newline at end of file
+</div>
diff --git a/core/src/main/resources/template/css_xhtml/controlheader-core.ftl b/core/src/main/resources/template/css_xhtml/controlheader-core.ftl
index daf7752..cdae623 100644
--- a/core/src/main/resources/template/css_xhtml/controlheader-core.ftl
+++ b/core/src/main/resources/template/css_xhtml/controlheader-core.ftl
@@ -24,7 +24,7 @@
 -->
 <#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
 <div <#rt/><#if parameters.id??>id="wwgrp_${parameters.id}"<#rt/></#if> class="wwgrp">
-	
+
 <#if (parameters.errorposition!"top") == 'top'>
 <#if hasFieldErrors>
 <div <#rt/><#if parameters.id??>id="wwerr_${parameters.id}"<#rt/></#if> class="wwerr">
@@ -41,13 +41,13 @@
 </#if>
 </#if>
 
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
 <#if parameters.label??>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
@@ -69,7 +69,7 @@
         ${parameters.label}${parameters.labelseparator!":"}
 <#include "/${parameters.templateDir}/xhtml/tooltip.ftl" />
 	</label><#t/>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 </div> <br /><#rt/>
 <#else>
 </span> <#rt/>
diff --git a/core/src/main/resources/template/css_xhtml/controlheader.ftl b/core/src/main/resources/template/css_xhtml/controlheader.ftl
index 893064c..f7b7daa 100644
--- a/core/src/main/resources/template/css_xhtml/controlheader.ftl
+++ b/core/src/main/resources/template/css_xhtml/controlheader.ftl
@@ -19,15 +19,14 @@
  */
 -->
 <#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl">
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
 </#if>
 <#if parameters.id??>id="wwctrl_${parameters.id}"<#rt/></#if> class="wwctrl">
-    
diff --git a/core/src/main/resources/template/css_xhtml/reset.ftl b/core/src/main/resources/template/css_xhtml/reset.ftl
index a2a1698..534ab37 100644
--- a/core/src/main/resources/template/css_xhtml/reset.ftl
+++ b/core/src/main/resources/template/css_xhtml/reset.ftl
@@ -18,12 +18,12 @@
  * under the License.
  */
 -->
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
@@ -34,7 +34,7 @@
 </#if>
 ><#t/>
 <#include "/${parameters.templateDir}/simple/reset.ftl" />
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 </div> <#t/>
 <#else>
 </span> <#t/>
diff --git a/core/src/main/resources/template/css_xhtml/submit-close.ftl b/core/src/main/resources/template/css_xhtml/submit-close.ftl
index 01a4ec4..d581962 100644
--- a/core/src/main/resources/template/css_xhtml/submit-close.ftl
+++ b/core/src/main/resources/template/css_xhtml/submit-close.ftl
@@ -19,12 +19,12 @@
  */
 -->
 <#include "/${parameters.templateDir}/simple/submit-close.ftl" />
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 </div> <#t/>
 <#else>
 </span> <#t/>
diff --git a/core/src/main/resources/template/css_xhtml/submit.ftl b/core/src/main/resources/template/css_xhtml/submit.ftl
index 055aca5..1f0ee1a 100644
--- a/core/src/main/resources/template/css_xhtml/submit.ftl
+++ b/core/src/main/resources/template/css_xhtml/submit.ftl
@@ -18,12 +18,12 @@
  * under the License.
  */
 -->
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"top") == 'top'>
+<#if (labelPos!"top") == 'top'>
 <div <#rt/>
 <#else>
 <span <#rt/>
diff --git a/core/src/main/resources/template/xhtml/checkbox.ftl b/core/src/main/resources/template/xhtml/checkbox.ftl
index ceef168..2ec63e0 100644
--- a/core/src/main/resources/template/xhtml/checkbox.ftl
+++ b/core/src/main/resources/template/xhtml/checkbox.ftl
@@ -32,12 +32,12 @@
 </tr>
 </#list>
 </#if>
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
-<#if (labelpos!"") == 'top'>
+<#if (labelPos!"") == 'top'>
 <tr>
     <td colspan="2">
 <#if parameters.label??> <label<#t/>
@@ -71,7 +71,7 @@ ${parameters.label}<#t/>
 <#else>
 <tr>
 	<td class="tdCheckboxLabel">
-<#if (labelpos!"") == 'left'>
+<#if (labelPos!"") == 'left'>
 <#if parameters.label??> <label<#t/>
 <#if parameters.id??>
  for="${parameters.id}"<#rt/>
@@ -96,7 +96,7 @@ ${parameters.label}<#t/>
 </label><#t/>
 </#if>
 </#if>
-<#if (labelpos!"") == 'right'>
+<#if (labelPos!"") == 'right'>
     <#if parameters.required!false>
         <span class="required">*</span><#t/>
     </#if>
@@ -107,10 +107,10 @@ ${parameters.label}<#t/>
     </td>
     <td class="tdCheckboxInput">
 
-<#if (labelpos!"") != 'top'>
+<#if (labelPos!"") != 'top'>
  <#include "/${parameters.templateDir}/simple/checkbox.ftl" />
-</#if>                    
-<#if (labelpos!"") != 'top' && (labelpos!"") != 'left'>
+</#if>
+<#if (labelPos!"") != 'top' && (labelPos!"") != 'left'>
 <#if parameters.label??> <label<#t/>
 <#if parameters.id??>
  for="${parameters.id}"<#rt/>
diff --git a/core/src/main/resources/template/xhtml/controlheader-core.ftl b/core/src/main/resources/template/xhtml/controlheader-core.ftl
index 894f3fa..3bf10e0 100644
--- a/core/src/main/resources/template/xhtml/controlheader-core.ftl
+++ b/core/src/main/resources/template/xhtml/controlheader-core.ftl
@@ -34,17 +34,17 @@
 </#list>
 </#if>
 </#if>
-<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
-<#assign labelpos = parameters.form.labelposition/>
-<#elseif parameters.labelposition??>
-<#assign labelpos = parameters.labelposition/>
+<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
+<#assign labelPos = parameters.form.labelPosition/>
+<#elseif parameters.labelPosition??>
+<#assign labelPos = parameters.labelPosition/>
 </#if>
 <#--
 	if the label position is top,
 	then give the label it's own row in the table
 -->
 <tr>
-<#if (labelpos!"") == 'top'>
+<#if (labelPos!"") == 'top'>
     <td class="tdLabelTop" colspan="2"><#rt/>
 <#else>
     <td class="tdLabel"><#rt/>
@@ -73,7 +73,7 @@ ${parameters.labelseparator!":"}<#t/>
 </#if>
     </td><#lt/>
 <#-- add the extra row -->
-<#if (labelpos!"") == 'top'>
+<#if (labelPos!"") == 'top'>
 </tr>
 <tr>
 </#if>
diff --git a/core/src/site/resources/tags/a.html b/core/src/site/resources/tags/a.html
new file mode 100644
index 0000000..a09beb9
--- /dev/null
+++ b/core/src/site/resources/tags/a.html
@@ -0,0 +1,512 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>a</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: a</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a HTML href element
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">action</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The action to generate the URL for, if not using value</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">anchor</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The anchor for this URL</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">encode</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether to encode parameters</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">escapeAmp</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Specifies whether to escape ampersand (&amp;) to (&amp;amp;) or not</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">forceAddSchemeHostAndPort</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Specifies whether to force the addition of scheme, host and port or not</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">href</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The URL.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">includeContext</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether actual context should be included in URL</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">includeParams</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">none</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The includeParams attribute may have the value 'none', 'get' or 'all'</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">method</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The method of action to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">namespace</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The namespace to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">openTemplate</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set template to use for opening the rendered html.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">portletMode</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The resulting portlet mode</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">portletUrlType</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Specifies if this should be a portlet render or action URL. Default is "render". To create an action URL, use "action".</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">scheme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set scheme attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The target value to use, if not using action</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">windowState</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The resulting portlet window state</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/actionerror.html b/core/src/site/resources/tags/actionerror.html
new file mode 100644
index 0000000..a292f54
--- /dev/null
+++ b/core/src/site/resources/tags/actionerror.html
@@ -0,0 +1,400 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>actionerror</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: actionerror</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render action errors if they exists
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">escape</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top"> Whether to escape HTML</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/actionmessage.html b/core/src/site/resources/tags/actionmessage.html
new file mode 100644
index 0000000..c5c52e3
--- /dev/null
+++ b/core/src/site/resources/tags/actionmessage.html
@@ -0,0 +1,400 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>actionmessage</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: actionmessage</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render action messages if they exists
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">escape</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether to escape HTML</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/checkbox.html b/core/src/site/resources/tags/checkbox.html
new file mode 100644
index 0000000..dd9cdfd
--- /dev/null
+++ b/core/src/site/resources/tags/checkbox.html
@@ -0,0 +1,400 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>checkbox</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: checkbox</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a checkbox input field
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">fieldValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The actual HTML value attribute of the checkbox.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left/right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left/right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/checkboxlist.html b/core/src/site/resources/tags/checkboxlist.html
new file mode 100644
index 0000000..ab1a835
--- /dev/null
+++ b/core/src/site/resources/tags/checkboxlist.html
@@ -0,0 +1,456 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>checkboxlist</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: checkboxlist</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a list of checkboxes
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listLabelKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to be used to lookup for localised version of field label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field content from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValueKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value label from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/combobox.html b/core/src/site/resources/tags/combobox.html
new file mode 100644
index 0000000..9e22725
--- /dev/null
+++ b/core/src/site/resources/tags/combobox.html
@@ -0,0 +1,480 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>combobox</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: combobox</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Widget that fills a text box from a select
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">emptyOption</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Decide if an empty option is to be inserted. Default false.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the header key for the header option.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the header value for the header option.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If this is missing, the select widget is simply not displayed.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key used to retrieve the option key.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the value used to retrieve the option value.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">maxLength</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">Deprecated. Use maxlength instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">maxlength</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">HTML maxlength attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">readonly</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether the input is readonly</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">HTML size attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">type</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">text</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Specifies the html5 type element to display. e.g. text, email, url</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/component.html b/core/src/site/resources/tags/component.html
new file mode 100644
index 0000000..6cd42b9
--- /dev/null
+++ b/core/src/site/resources/tags/component.html
@@ -0,0 +1,392 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>component</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: component</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a custom ui widget
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/datetextfield.html b/core/src/site/resources/tags/datetextfield.html
new file mode 100644
index 0000000..6aee894
--- /dev/null
+++ b/core/src/site/resources/tags/datetextfield.html
@@ -0,0 +1,400 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>datetextfield</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: datetextfield</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render an HTML input fields with the date time
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">format</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Date format attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/debug.html b/core/src/site/resources/tags/debug.html
new file mode 100644
index 0000000..a49fdcd
--- /dev/null
+++ b/core/src/site/resources/tags/debug.html
@@ -0,0 +1,392 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>debug</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: debug</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Prints debugging information (Only if 'struts.devMode' is enabled)
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/doubleselect.html b/core/src/site/resources/tags/doubleselect.html
new file mode 100644
index 0000000..0381dba
--- /dev/null
+++ b/core/src/site/resources/tags/doubleselect.html
@@ -0,0 +1,760 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>doubleselect</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: doubleselect</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Renders two HTML select elements with second one changing displayed values depending on selected entry of first one.
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleAccesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleDisabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Decides if a disable attribute should be added to the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleEmptyOption</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Decides if the second list will add an empty option</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleHeaderKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The header key for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleHeaderValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The header value for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleId</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The id of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleList</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The second iterable source to populate from.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The key expression to use for second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The value expression to use for second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleMultiple</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Decides if multiple attribute should be set on the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleName</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name for complete component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onblur attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onchange attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onclick attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOndblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the ondbclick attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onfocus attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeydown attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeypress attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeyup attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmousedown attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmousemove attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseout attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseover attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseup attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onselect attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleSize</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the size attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The value expression for complete component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">emptyOption</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Decides of an empty option is to be inserted in the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">formName</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The form name this component resides in and populates to</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the header key of the second list. Must not be empty! '-1' and '' is correct, '' is bad.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the header value of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listLabelKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to be used to lookup for localised version of field label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field content from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValueKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value label from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">multiple</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Creates a multiple select. The tag will pre-select multiple values if the values are passed as an Array (of appropriate types) via the value attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">Size of the element box (# of elements to show)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/fielderror.html b/core/src/site/resources/tags/fielderror.html
new file mode 100644
index 0000000..3901688
--- /dev/null
+++ b/core/src/site/resources/tags/fielderror.html
@@ -0,0 +1,408 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>fielderror</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: fielderror</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render field error (all or partial depending on param tag nested)if they exists
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">escape</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top"> Whether to escape HTML</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">fieldName</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Field name for single field attribute usage</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/file.html b/core/src/site/resources/tags/file.html
new file mode 100644
index 0000000..5e9770c
--- /dev/null
+++ b/core/src/site/resources/tags/file.html
@@ -0,0 +1,408 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>file</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: file</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a file input field
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accept</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML accept attribute to indicate accepted file mimetypes</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">HTML size attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/form.html b/core/src/site/resources/tags/form.html
new file mode 100644
index 0000000..416cc6b
--- /dev/null
+++ b/core/src/site/resources/tags/form.html
@@ -0,0 +1,504 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>form</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: form</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Renders an input form
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">acceptcharset</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The accepted charsets for this form. The values may be comma or blank delimited.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">action</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">current action</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set action name to submit to, without .action suffix</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">enctype</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML form enctype attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">focusElement</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Id of element that will receive the focus when page loads.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">includeContext</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">true</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether actual context should be included in URL</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">method</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML form method attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">namespace</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">current namespace</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Namespace for action to submit to</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onreset</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML onreset attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onsubmit</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML onsubmit attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">openTemplate</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set template to use for opening the rendered html.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">portletMode</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The portlet mode to display after the form submit</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">target</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML form target attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">validate</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether client side/remote validation should be performed. Only useful with theme xhtml/ajax</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">windowState</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The window state to display after the form submit</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/head.html b/core/src/site/resources/tags/head.html
new file mode 100644
index 0000000..9a89780
--- /dev/null
+++ b/core/src/site/resources/tags/head.html
@@ -0,0 +1,392 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>head</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: head</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a chunk of HEAD for your HTML file
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/hidden.html b/core/src/site/resources/tags/hidden.html
new file mode 100644
index 0000000..cb80280
--- /dev/null
+++ b/core/src/site/resources/tags/hidden.html
@@ -0,0 +1,392 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>hidden</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: hidden</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a hidden input field
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/inputtransferselect.html b/core/src/site/resources/tags/inputtransferselect.html
new file mode 100644
index 0000000..255524d
--- /dev/null
+++ b/core/src/site/resources/tags/inputtransferselect.html
@@ -0,0 +1,576 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>inputtransferselect</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: inputtransferselect</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Renders an input form
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the label used for the add button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowRemoveAll</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Determine whether the remove all button will display</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowUpDown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Determine whether items in the list can be reordered</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">buttonCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the css class used for rendering buttons</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">buttonCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the css style used for rendering buttons</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">downLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the label used for the down button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the header key of the select box</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the header value of the select box</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">leftTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the left hand title</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listLabelKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to be used to lookup for localised version of field label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field content from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValueKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value label from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">multiple</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Determine whether or not multiple entries are shown</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">removeAllLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the label used for the remove all button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">removeLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the label used for the remove button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">rightTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the right hand title</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the size of the select box</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">upLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">the label used for the up button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/label.html b/core/src/site/resources/tags/label.html
new file mode 100644
index 0000000..ca6bedb
--- /dev/null
+++ b/core/src/site/resources/tags/label.html
@@ -0,0 +1,400 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>label</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: label</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render a label that displays read-only information
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">for</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> HTML for attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/optiontransferselect.html b/core/src/site/resources/tags/optiontransferselect.html
new file mode 100644
index 0000000..2719a84
--- /dev/null
+++ b/core/src/site/resources/tags/optiontransferselect.html
@@ -0,0 +1,976 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>optiontransferselect</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: optiontransferselect</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Renders an input form
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addAllToLeftLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Add To Left button label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addAllToLeftOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after Add All To Left button pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addAllToRightLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Add All To Right button label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addAllToRightOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after Add All To Right button pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addToLeftLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Add To Left button label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addToLeftOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after Add To Left button pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addToRightLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Add To Right button label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">addToRightOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after Add To Right button pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowAddAllToLeft</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable Add All To Left button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowAddAllToRight</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable Add All To Right button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowAddToLeft</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable Add To Left button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowAddToRight</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable Add To Right button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowSelectAll</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable Select All button</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowUpDownOnLeft</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable up / down on the left side</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">allowUpDownOnRight</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Enable up / down on the right side</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">buttonCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set buttons css class</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">buttonCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set button css style</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleAccesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleDisabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Decides if a disable attribute should be added to the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleEmptyOption</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Decides if the second list will add an empty option</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleHeaderKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The header key for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleHeaderValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The header value for the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleId</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The id of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleList</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The second iterable source to populate from.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The key expression to use for second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of second list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleListValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The value expression to use for second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleMultiple</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Decides if multiple attribute should be set on the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleName</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name for complete component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onblur attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onchange attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onclick attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOndblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the ondbclick attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onfocus attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeydown attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeypress attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onkeyup attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmousedown attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmousemove attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseout attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseover attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onmouseup attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleOnselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the onselect attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleSize</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the size attribute of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">doubleValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The value expression for complete component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">emptyOption</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Decides of an empty option is to be inserted in the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">formName</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The form name this component resides in and populates to</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the header key of the second list. Must not be empty! '-1' and '' is correct, '' is bad.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">headerValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the header value of the second list</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">leftDownLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Down label for the left side.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">leftTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Left title</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">leftUpLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Up label for the left side</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listLabelKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to be used to lookup for localised version of field label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get title from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValue</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field content from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listValueKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value label from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">multiple</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Creates a multiple select. The tag will pre-select multiple values if the values are passed as an Array (of appropriate types) via the value attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">rightDownLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Down label for the left side.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">rightTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Right title</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">rightUpLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Up label for the right side.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">selectAllLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set Select All button label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">selectAllOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after Select All button pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">Size of the element box (# of elements to show)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">upDownOnLeftOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after up / down on the left side buttons pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">upDownOnRightOnclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Javascript to run after up / down on the right side buttons pressed</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/password.html b/core/src/site/resources/tags/password.html
new file mode 100644
index 0000000..425b459
--- /dev/null
+++ b/core/src/site/resources/tags/password.html
@@ -0,0 +1,440 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>password</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: password</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Render an HTML input tag of type password
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">maxLength</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">Deprecated. Use maxlength instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">maxlength</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">HTML maxlength attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">name</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The name to set for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onblur</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onchange</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">ondblclick</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onfocus</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeydown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeypress</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onkeyup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousedown</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmousemove</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseout</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseover</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onmouseup</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">onselect</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">readonly</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether the input is readonly</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredLabel</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">requiredPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define required position of required form element (left|right)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">showPassword</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Whether to show input</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">size</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Integer</td>
+					<td align="left" valign="top">HTML size attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">style</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tabindex</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">template</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">templateDir</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The template directory.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">theme</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The theme (other than default) to use for rendering the element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">title</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html title attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the tooltip of this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipConfig</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">StrutsTTClassic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipDelay</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Classic</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">tooltipIconPath</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Icon path used for image that will have the tooltip</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">type</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">text</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Specifies the html5 type element to display. e.g. text, email, url</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">value</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Preset the value of input element.</td>
+				</tr>
+		</table>
+		<!-- END SNIPPET: tagattributes -->
+	</body>
+</html>
+
diff --git a/core/src/site/resources/tags/radio.html b/core/src/site/resources/tags/radio.html
new file mode 100644
index 0000000..9131917
--- /dev/null
+++ b/core/src/site/resources/tags/radio.html
@@ -0,0 +1,456 @@
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+    <head>
+		<title>radio</title>
+	</head>
+
+	<body>
+		<h1>Tag Name: radio</h1>
+		<h2>Description</h2>
+		<p>
+		<!-- START SNIPPET: tagdescription -->
+		Renders a radio button input field
+		<!-- END SNIPPET: tagdescription -->
+		</p>
+
+		<h2>Attributes</h2>
+		<!-- START SNIPPET: tagattributes -->
+		<table width="100%">
+			<tr>
+				<td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+			</tr>
+			<tr>
+				<td colspan="6">&nbsp;</td>
+			</tr>
+			<tr>
+				<th align="left" valign="top"><h4>Name</h4></th>
+				<th align="left" valign="top"><h4>Required</h4></th>
+				<th align="left" valign="top"><h4>Default</h4></th>
+				<th align="left" valign="top"><h4>Evaluated</h4></th>
+				<th align="left" valign="top"><h4>Type</h4></th>
+				<th align="left" valign="top"><h4>Description</h4></th>
+			</tr>
+				<tr>
+					<td align="left" valign="top">accesskey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">class</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error class to use for element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssErrorStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css error style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">cssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">The css style definitions for element to use</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">disabled</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">errorPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define error position of form element (top|bottom)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">id</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">HTML id attribute</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">javascriptTooltip</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">Boolean</td>
+					<td align="left" valign="top">Use JavaScript to generate tooltips</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">key</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">label</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Label expression used for rendering an element specific label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelPosition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelSeparator</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">:</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">String that will be appended to the label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">labelposition</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Define label position of form element (top/left)</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">list</td>
+					<td align="left" valign="top"><strong>true</strong></td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssClass</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css class from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listCssStyle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get css style from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to get field value from</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listLabelKey</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top">String</td>
+					<td align="left" valign="top">Property of list objects to be used to lookup for localised version of field label</td>
+				</tr>
+				<tr>
+					<td align="left" valign="top">listTitle</td>
+					<td align="left" valign="top">false</td>
+					<td align="left" valign="top"></td>
... 3451 lines suppressed ...

Mime
View raw message