struts-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jo...@apache.org
Subject [06/16] struts-examples git commit: Unify artifact names and use "-" instead of "_"
Date Sun, 14 Jun 2015 10:53:18 GMT
http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/reset.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/reset.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/reset.ftl
new file mode 100644
index 0000000..0ddba57
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/reset.ftl
@@ -0,0 +1,76 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if parameters.type?? && parameters.type=="button">
+<button type="reset"<#rt/>
+<#if parameters.name??>
+ name="${parameters.name?html}"<#rt/>
+</#if>
+<#if parameters.nameValue??>
+ value="<@s.property value="parameters.nameValue"/>"<#rt/>
+</#if>
+<#if parameters.cssClass??>
+ class="${parameters.cssClass?html}"<#rt/>
+</#if>
+<#if parameters.cssStyle??>
+ style="${parameters.cssStyle?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl"/>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+><#if parameters.src??>
+<img<#rt/>
+<#if parameters.label??>
+ alt="${parameters.label?html}"<#rt/>
+</#if>
+<#if parameters.src??>
+ src="${parameters.src?html}"<#rt/>
+</#if>
+/><#else><#if parameters.label??><@s.property value="parameters.label"/><#rt/></#if></#if></button>
+<#else>
+<input type="reset"<#rt/>
+<#if parameters.name??>
+ name="${parameters.name?html}"<#rt/>
+</#if>
+<#if parameters.nameValue??>
+ value="<@s.property value="parameters.nameValue"/>"<#rt/>
+</#if>
+<#if parameters.cssClass??>
+ class="${parameters.cssClass?html}"<#rt/>
+</#if>
+<#if parameters.cssStyle??>
+ style="${parameters.cssStyle?html}"<#rt/>
+</#if>
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+/>
+</#if>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/scripting-events.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/scripting-events.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/scripting-events.ftl
new file mode 100644
index 0000000..c998e61
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/scripting-events.ftl
@@ -0,0 +1,64 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if parameters.onclick??>
+ onclick="${parameters.onclick?html}"<#rt/>
+</#if>
+<#if parameters.ondblclick??>
+ ondblclick="${parameters.ondblclick?html}"<#rt/>
+</#if>
+<#if parameters.onmousedown??>
+ onmousedown="${parameters.onmousedown?html}"<#rt/>
+</#if>
+<#if parameters.onmouseup??>
+ onmouseup="${parameters.onmouseup?html}"<#rt/>
+</#if>
+<#if parameters.onmouseover??>
+ onmouseover="${parameters.onmouseover?html}"<#rt/>
+</#if>
+<#if parameters.onmousemove??>
+ onmousemove="${parameters.onmousemove?html}"<#rt/>
+</#if>
+<#if parameters.onmouseout??>
+ onmouseout="${parameters.onmouseout?html}"<#rt/>
+</#if>
+<#if parameters.onfocus??>
+ onfocus="${parameters.onfocus?html}"<#rt/>
+</#if>
+<#if parameters.onblur??>
+ onblur="${parameters.onblur?html}"<#rt/>
+</#if>
+<#if parameters.onkeypress??>
+ onkeypress="${parameters.onkeypress?html}"<#rt/>
+</#if>
+<#if parameters.onkeydown??>
+ onkeydown="${parameters.onkeydown?html}"<#rt/>
+</#if>
+<#if parameters.onkeyup??>
+ onkeyup="${parameters.onkeyup?html}"<#rt/>
+</#if>
+<#if parameters.onselect??>
+ onselect="${parameters.onselect?html}"<#rt/>
+</#if>
+<#if parameters.onchange??>
+ onchange="${parameters.onchange?html}"<#rt/>
+</#if>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/select.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/select.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/select.ftl
new file mode 100644
index 0000000..74277e6
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/select.ftl
@@ -0,0 +1,140 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#setting number_format="#.#####">
+<select<#rt/>
+ name="${parameters.name?default("")?html}"<#rt/>
+<#if parameters.get("size")??>
+ size="${parameters.get("size")?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.multiple?default(false)>
+ multiple="multiple"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+>
+<#if parameters.headerKey?? && parameters.headerValue??>
+    <option value="${parameters.headerKey?html}"
+    <#if tag.contains(parameters.nameValue, parameters.headerKey) == true>
+    selected="selected"
+    </#if>
+    >${parameters.headerValue?html}</option>
+</#if>
+<#if parameters.emptyOption?default(false)>
+    <option value=""></option>
+</#if>
+<@s.iterator value="parameters.list">
+        <#if parameters.listKey??>
+            <#if stack.findValue(parameters.listKey)??>
+              <#assign itemKey = stack.findValue(parameters.listKey)/>
+              <#assign itemKeyStr = stack.findString(parameters.listKey)/>
+            <#else>
+              <#assign itemKey = ''/>
+              <#assign itemKeyStr = ''/>
+            </#if>
+        <#else>
+            <#assign itemKey = stack.findValue('top')/>
+            <#assign itemKeyStr = stack.findString('top')>
+        </#if>
+        <#if parameters.listValue??>
+            <#if stack.findString(parameters.listValue)??>
+              <#assign itemValue = stack.findString(parameters.listValue)/>
+            <#else>
+              <#assign itemValue = ''/>
+            </#if>
+        <#else>
+            <#assign itemValue = stack.findString('top')/>
+        </#if>
+        <#if parameters.listCssClass??>
+            <#if stack.findString(parameters.listCssClass)??>
+              <#assign itemCssClass= stack.findString(parameters.listCssClass)/>
+            <#else>
+              <#assign itemCssClass = ''/>
+            </#if>
+        </#if>
+        <#if parameters.listCssStyle??>
+            <#if stack.findString(parameters.listCssStyle)??>
+              <#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
+            <#else>
+              <#assign itemCssStyle = ''/>
+            </#if>
+        </#if>
+        <#if parameters.listTitle??>
+            <#if stack.findString(parameters.listTitle)??>
+              <#assign itemTitle= stack.findString(parameters.listTitle)/>
+            <#else>
+              <#assign itemTitle = ''/>
+            </#if>
+        </#if>
+    <option value="${itemKeyStr?html}"<#rt/>
+        <#if tag.contains(parameters.nameValue, itemKey) == true>
+ selected="selected"<#rt/>
+        </#if>
+        <#if itemCssClass?if_exists != "">
+ class="${itemCssClass?html}"<#rt/>
+        </#if>
+        <#if itemCssStyle?if_exists != "">
+ style="${itemCssStyle?html}"<#rt/>
+        </#if>
+        <#if itemTitle?if_exists != "">
+ title="${itemTitle?html}"<#rt/>
+        </#if>
+    >${itemValue?html}</option><#lt/>
+</@s.iterator>
+
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/optgroup.ftl" />
+
+</select>
+
+<#if parameters.multiple?default(false)>
+  <#if (parameters.id?? && parameters.name??)>
+    <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>
+  </#if>
+  <#if (parameters.id?? && !parameters.name??)>
+    <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+  </#if>
+  <#if ( !parameters.id?? && parameters.name??)>
+    <input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.id?html}" value=""<#rt/>
+  </#if>
+   <#if ( !parameters.id?? && !parameters.name??)>
+     <input type="hidden" id="" name="" value="" <#rt/>
+  </#if>
+  
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+ />
+</#if>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/submit-close.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/submit-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/submit-close.ftl
new file mode 100644
index 0000000..2bb7347
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/submit-close.ftl
@@ -0,0 +1,6 @@
+<#if parameters.type?? && parameters.type=="button">
+<#if (parameters.body)?default("")?length gt 0>${parameters.body}<#elseif parameters.label??><@s.property value="parameters.label"/><#rt/></#if>
+</button>
+<#else>
+${parameters.body}<#rt/>
+</#if>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/submit.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/submit.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/submit.ftl
new file mode 100644
index 0000000..95315ef
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/submit.ftl
@@ -0,0 +1,93 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if parameters.type?? && parameters.type=="button">
+<button type="submit"<#rt/>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#if parameters.name??>
+ name="${parameters.name?html}"<#rt/>
+</#if>
+<#if parameters.nameValue??>
+ value="<@s.property value="parameters.nameValue"/>"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.cssClass??>
+ class="${parameters.cssClass?html}"<#rt/>
+</#if>
+<#if parameters.cssStyle??>
+ style="${parameters.cssStyle?html}"<#rt/>
+</#if>
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl"/>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+>
+<#else>
+<#if parameters.type?? && parameters.type=="image">
+<input type="image"<#rt/>
+<#if parameters.label??>
+ alt="${parameters.label?html}"<#rt/>
+</#if>
+<#if parameters.src??>
+ src="${parameters.src?html}"<#rt/>
+</#if>
+<#else>
+<input type="submit"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#if parameters.name??>
+ name="${parameters.name?html}"<#rt/>
+</#if>
+<#if parameters.nameValue??>
+ value="<@s.property value="parameters.nameValue"/>"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.cssClass??>
+ class="${parameters.cssClass?html}"<#rt/>
+</#if>
+<#if parameters.cssStyle??>
+ style="${parameters.cssStyle?html}"<#rt/>
+</#if>
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+/>
+</#if>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/table.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/table.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/table.ftl
new file mode 100644
index 0000000..d7efb06
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/table.ftl
@@ -0,0 +1,76 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#assign webTable = tag/>
+<#assign tableModel = webTable.model/>
+
+<#if tableModel??>
+<p align="center">
+<table bgcolor="white" border="0" cellpadding="1" cellspacing="0" >
+    <tr>
+        <td>
+            <table  border="0" cellpadding="2" cellspacing="1">
+                <tr bgcolor="yellow">
+<#list webTable.columns as curColumn>
+<#if curColumn.visible>
+                    <th>
+<#if webTable.sortable>
+                        <table border="0" cellspacing="0" cellpadding="0">
+                            <tr>
+                                <td>${curColumn.displayName}</td>
+                                <td>
+                                    <table border="0" cellspacing="0" cellpadding="0">
+                                        <tr>
+                                            <td align="bottom">
+<#if false>
+                                                 <img src="images/sorted_asc.gif" border="0" align="bottom" />
+<#else>
+                                                <a href="<@s.url><@s.param name="${webTable.sortColumnLinkName}" value="${curColumn.offset}"/><@s.param name="${webTable.sortOrderLinkName}" value="ASC"/></@s.url>"><img src="images/unsorted_asc.gif" border="0" align="bottom"/></a>
+</#if>
+                                            </td>
+                                        </tr>
+                                        <tr>
+                                            <td align="top"></td>
+                                        </tr>
+                                    </table>
+                                </td>
+                            </tr>
+                        </table>
+<#else>
+                        ${curColumn.displayName}
+</#if>
+                    </th>
+</#if>
+</#list>
+                </tr>
+<#list webTable.rowIterator as curRow>
+                <tr>
+<#list curRow as curColumn>
+                    <td>${curColumn}</td>
+</#list>
+                </tr>
+</#list>
+            </table>
+        </td>
+    </tr>
+</table>
+</#if>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/text.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/text.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/text.ftl
new file mode 100644
index 0000000..1caf3aa
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/text.ftl
@@ -0,0 +1,54 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<input<#rt/>
+ type="${parameters.type?default("text")?html}"<#rt/>
+ name="${parameters.name?default("")?html}"<#rt/>
+<#if parameters.get("size")??>
+ size="${parameters.get("size")?html}"<#rt/>
+</#if>
+<#if parameters.maxlength??>
+ maxlength="${parameters.maxlength?html}"<#rt/>
+</#if>
+<#if parameters.nameValue??>
+ value="${parameters.nameValue?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.readonly?default(false)>
+ readonly="readonly"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+/>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/textarea.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/textarea.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/textarea.ftl
new file mode 100644
index 0000000..6cf1e9b
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/textarea.ftl
@@ -0,0 +1,53 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<textarea<#rt/>
+ name="${parameters.name?default("")?html}"<#rt/>
+ cols="${parameters.cols?default("")?html}"<#rt/>
+ rows="${parameters.rows?default("")?html}"<#rt/>
+<#if parameters.wrap??>
+ wrap="${parameters.wrap?html}"<#rt/>
+</#if>
+<#if parameters.disabled?default(false)>
+ disabled="disabled"<#rt/>
+</#if>
+<#if parameters.readonly?default(false)>
+ readonly="readonly"<#rt/>
+</#if>
+<#if parameters.tabindex??>
+ tabindex="${parameters.tabindex?html}"<#rt/>
+</#if>
+<#if parameters.id??>
+ id="${parameters.id?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
+<#if parameters.title??>
+ title="${parameters.title?html}"<#rt/>
+</#if>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
+><#rt/>
+<#if parameters.nameValue??>
+<@s.property value="parameters.nameValue"/><#t/>
+</#if>
+</textarea>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/token.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/token.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/token.ftl
new file mode 100644
index 0000000..cabfa9c
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/token.ftl
@@ -0,0 +1,24 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<input type="hidden" name="${parameters.tokenNameField?default("")}" value="${parameters.name?default("")?html}" />
+<input type="hidden" name="${parameters.name?default("")}" value="${parameters.token?default("")?html}" />
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/simple/updownselect.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/simple/updownselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/simple/updownselect.ftl
new file mode 100644
index 0000000..30128ef
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/simple/updownselect.ftl
@@ -0,0 +1,57 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if !stack.findValue("#optiontransferselect_js_included")??><#t/>
+	<script type="text/javascript" src="<@s.url value="/struts/optiontransferselect.js" encode='false' includeParams='none'/>"></script>
+	<#assign temporaryVariable = stack.setValue("#optiontransferselect_js_included", "true") /><#t/>
+</#if><#t/>
+<table>
+<tr><td>
+<#include "/${templateDir}/simple/select.ftl" /><#t/>
+</td></tr>
+<tr><td>
+<#if parameters.allowMoveUp?default(true)><#t/>
+	<#assign defMoveUpLabel="${parameters.moveUpLabel?default('^')}" /><#t/>
+	<#if parameters.headerKey??><#t/>
+		&nbsp;<input type="button" value="${defMoveUpLabel}" onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');" />&nbsp;
+	<#else><#t/>
+		&nbsp;<input type="button" value="${defMoveUpLabel}" onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '');" />&nbsp;
+	</#if><#t/>
+</#if><#t/>
+<#if parameters.allowMoveDown?default(true)><#t/>
+	<#assign defMoveDownLabel="${parameters.moveDownLabel?default('v')}" /><#t/>
+	<#if parameters.headerKey??><#t/>
+		&nbsp;<input type="button" value="${defMoveDownLabel}" onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');" />&nbsp;
+	<#else><#t/>
+		&nbsp;<input type="button" value="${defMoveDownLabel}" onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '');" />&nbsp;
+	</#if><#t/>
+</#if><#t/>
+<#if parameters.allowSelectAll?default(true)><#t/>
+	<#assign defSelectAllLabel="${parameters.selectAllLabel?default('*')}" /><#t/>
+	<#if parameters.headerKey??><#t/>
+		&nbsp;<input type="button" value="${defSelectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');" />&nbsp;
+	<#else><#t/>
+		&nbsp;<input type="button" value="${defSelectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id}'), 'key', '');" />&nbsp;
+	</#if><#t/>
+</#if><#t/>
+</td></tr>
+</table>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkbox.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkbox.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkbox.ftl
new file mode 100644
index 0000000..4504b3f
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkbox.ftl
@@ -0,0 +1,129 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#assign hasFieldErrors = fieldErrors?? && fieldErrors[parameters.name]??/>
+<#if hasFieldErrors>
+<#list fieldErrors[parameters.name] as error>
+<tr<#rt/>
+<#if parameters.id??>
+ errorFor="${parameters.id}"<#rt/>
+</#if>
+>
+    <td align="left" valign="top" colspan="2"><#rt/>
+        <span class="errorMessage">${error?html}</span><#t/>
+    </td><#lt/>
+</tr>
+</#list>
+</#if>
+<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
+<#assign labelpos = parameters.form.labelposition/>
+<#elseif parameters.labelposition??>
+<#assign labelpos = parameters.labelposition/>
+</#if>
+<#if labelpos?default("") == 'top'>
+<tr>
+    <td colspan="2">
+<#if parameters.label??> <label<#t/>
+<#if parameters.id??>
+ for="${parameters.id?html}"<#rt/>
+</#if>
+<#if hasFieldErrors>
+ class="checkboxErrorLabel"<#rt/>
+<#else>
+ class="checkboxLabel"<#rt/>
+</#if>
+>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") != 'right'>
+        <span class="required">*</span><#t/>
+</#if>
+${parameters.label?html}<#t/>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") == 'right'>
+ <span class="required">*</span><#t/>
+</#if>
+:<#t/>
+<#if parameters.tooltip??>
+    <#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" />
+</#if>
+</label><#t/>
+</#if>
+    </td>
+</tr>
+<tr>
+    <td colspan="2">
+        <#include "/${parameters.templateDir}/simple/checkbox.ftl" />
+<#else>
+<tr>
+	<td valign="top" align="right">
+<#if labelpos?default("") == 'left'>
+<#if parameters.label??> <label<#t/>
+<#if parameters.id??>
+ for="${parameters.id?html}"<#rt/>
+</#if>
+<#if hasFieldErrors>
+ class="checkboxErrorLabel"<#rt/>
+<#else>
+ class="checkboxLabel"<#rt/>
+</#if>
+>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") != 'right'>
+        <span class="required">*</span><#t/>
+</#if>
+${parameters.label?html}<#t/>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") == 'right'>
+ <span class="required">*</span><#t/>
+</#if>
+:<#t/>
+<#if parameters.tooltip??>
+    <#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" />
+</#if>
+</label><#t/>
+</#if>
+</#if>
+<#if labelpos?default("") == 'right'>
+    <#if parameters.required?default(false)>
+        <span class="required">*</span><#t/>
+    </#if>
+    <#if parameters.tooltip??>
+        <#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" />
+    </#if>
+</#if>
+    </td>
+    <td valign="top" align="left">
+
+<#if labelpos?default("") != 'top'>
+                	<#include "/${parameters.templateDir}/simple/checkbox.ftl" />
+</#if>                    
+<#if labelpos?default("") != 'top' && labelpos?default("") != 'left'>
+<#if parameters.label??> <label<#t/>
+<#if parameters.id??>
+ for="${parameters.id?html}"<#rt/>
+</#if>
+<#if hasFieldErrors>
+ class="checkboxErrorLabel"<#rt/>
+<#else>
+ class="checkboxLabel"<#rt/>
+</#if>
+>${parameters.label?html}</label><#rt/>
+</#if>
+</#if>
+</#if>
+ <#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkboxlist.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkboxlist.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkboxlist.ftl
new file mode 100644
index 0000000..8cc0dd8
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/checkboxlist.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/checkboxlist.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/combobox.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/combobox.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/combobox.ftl
new file mode 100644
index 0000000..a1a85f1
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/combobox.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/combobox.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/control-close.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/control-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/control-close.ftl
new file mode 100644
index 0000000..a89de7e
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/control-close.ftl
@@ -0,0 +1,23 @@
+<#--
+/*
+ * $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.
+ */
+-->
+</table>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/control.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/control.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/control.ftl
new file mode 100644
index 0000000..2761ac3
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/control.ftl
@@ -0,0 +1,26 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<table class="${parameters.cssClass?default('wwFormTable')?html}"<#rt/>
+<#if parameters.cssStyle??> style="${parameters.cssStyle?html}"<#rt/>
+</#if>
+>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlfooter.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlfooter.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlfooter.ftl
new file mode 100644
index 0000000..37da2f8
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlfooter.ftl
@@ -0,0 +1,38 @@
+<#--
+/*
+ * $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.
+ */
+-->
+${parameters.after?if_exists}<#t/>
+    </td><#lt/>
+</tr>
+<#if parameters.errorposition?default("top") == 'bottom'>
+<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
+<#if hasFieldErrors>
+<#list fieldErrors[parameters.name] as error>
+<tr errorFor="${parameters.id}">
+    <td align="center" valign="top" colspan="2"><#rt/>
+        <span class="errorMessage">${error?html}</span><#t/>
+    </td><#lt/>
+</tr>
+</#list>
+</#if>
+</#if>
+

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader-core.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader-core.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader-core.ftl
new file mode 100644
index 0000000..7330270
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader-core.ftl
@@ -0,0 +1,81 @@
+<#--
+/*
+ * $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.
+-->
+<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
+<#if parameters.errorposition?default("top") == 'top'>
+<#if hasFieldErrors>
+<#list fieldErrors[parameters.name] as error>
+<tr errorFor="${parameters.id}">
+    <td align="center" valign="top" colspan="2"><#rt/>
+        <span class="errorMessage">${error?html}</span><#t/>
+    </td><#lt/>
+</tr>
+</#list>
+</#if>
+</#if>
+<#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?default("") == 'top'>
+    <td align="left" valign="top" colspan="2"><#rt/>
+<#else>
+    <td class="tdLabel"><#rt/>
+</#if>
+<#if parameters.label??>
+    <label <#t/>
+<#if parameters.id??>
+        for="${parameters.id?html}" <#t/>
+</#if>
+<#if hasFieldErrors>
+        class="errorLabel"<#t/>
+<#else>
+        class="label"<#t/>
+</#if>
+    ><#t/>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") != 'right'>
+        <span class="required">*</span><#t/>
+</#if>
+${parameters.label?html}<#t/>
+<#if parameters.required?default(false) && parameters.requiredPosition?default("right") == 'right'>
+ <span class="required">*</span><#t/>
+</#if>
+${parameters.labelseparator?default(":")?html}<#t/>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" />
+</label><#t/>
+</#if>
+    </td><#lt/>
+<#-- add the extra row -->
+<#if labelpos?default("") == 'top'>
+</tr>
+<tr>
+</#if>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader.ftl
new file mode 100644
index 0000000..4a15058
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/controlheader.ftl
@@ -0,0 +1,28 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" />
+    <td
+<#if parameters.align??>
+    align="${parameters.align?html}"<#t/>
+</#if>
+><#t/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/doubleselect.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/doubleselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/doubleselect.ftl
new file mode 100644
index 0000000..f923462
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/doubleselect.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/doubleselect.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/file.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/file.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/file.ftl
new file mode 100644
index 0000000..cae4a2e
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/file.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/file.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close-validate.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close-validate.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close-validate.ftl
new file mode 100644
index 0000000..f129156
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close-validate.ftl
@@ -0,0 +1,158 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#--
+START SNIPPET: supported-validators
+Only the following validators are supported:
+* required validator
+* requiredstring validator
+* stringlength validator
+* regex validator
+* email validator
+* url validator
+* int validator
+* double validator
+END SNIPPET: supported-validators
+-->
+<#if ((parameters.validate!false == true) && (parameters.performValidation!false == true))>
+<script type="text/javascript">
+    function validateForm_${parameters.id?replace('[^a-zA-Z0-9_]', '_', 'r')}() {
+        <#--
+            In case of multiselect fields return only the first value.
+        -->
+        var getFieldValue = function(field) {
+            var type = field.type ? field.type : field[0].type;
+            if (type == 'select-one' || type == 'select-multiple') {
+                return (field.selectedIndex == -1 ? "" : field.options[field.selectedIndex].value);
+            } else if (type == 'checkbox' || type == 'radio') {
+                if (!field.length) {
+                    field = [field];
+                }
+                for (var i = 0; i < field.length; i++) {
+                    if (field[i].checked) {
+                        return field[i].value;
+                    }
+                }
+                return "";
+            }
+            return field.value;
+        }
+        form = document.getElementById("${parameters.id}");
+        clearErrorMessages(form);
+        clearErrorLabels(form);
+
+        var errors = false;
+        var continueValidation = true;
+    <#list parameters.tagNames as tagName>
+        <#list tag.getValidators("${tagName}") as aValidator>
+        // field name: ${aValidator.fieldName}
+        // validator name: ${aValidator.validatorType}
+        if (form.elements['${aValidator.fieldName}']) {
+            field = form.elements['${aValidator.fieldName}'];
+            <#if aValidator.validatorType = "field-visitor">
+                <#assign validator = aValidator.fieldValidator >
+                //visitor validator switched to: ${validator.validatorType}
+            <#else>
+                <#assign validator = aValidator >
+            </#if>
+
+            var error = "${validator.getMessage(action)?js_string}";
+            var fieldValue = getFieldValue(field);
+            
+            <#if validator.validatorType = "required">
+            if (fieldValue == "") {
+                addError(field, error);
+                errors = true;
+                <#if validator.shortCircuit>continueValidation = false;</#if>
+            }
+            <#elseif validator.validatorType = "requiredstring">
+            if (continueValidation && fieldValue != null && (fieldValue == "" || fieldValue.replace(/^\s+|\s+$/g,"").length == 0)) {
+                addError(field, error);
+                errors = true;
+                <#if validator.shortCircuit>continueValidation = false;</#if>
+            }
+            <#elseif validator.validatorType = "stringlength">
+            if (continueValidation && fieldValue != null) {
+                var value = fieldValue;
+                <#if validator.trim>
+                    //trim field value
+                    while (value.substring(0,1) == ' ')
+                        value = value.substring(1, value.length);
+                    while (value.substring(value.length-1, value.length) == ' ')
+                        value = value.substring(0, value.length-1);
+                </#if>
+                if ((${validator.minLength?c} > -1 && value.length < ${validator.minLength?c}) ||
+                    (${validator.maxLength?c} > -1 && value.length > ${validator.maxLength?c})) {
+                    addError(field, error);
+                    errors = true;
+                    <#if validator.shortCircuit>continueValidation = false;</#if>
+                }
+            }
+            <#elseif validator.validatorType = "regex">
+            if (continueValidation && fieldValue != null && !fieldValue.match("${validator.regex?js_string}")) {
+                addError(field, error);
+                errors = true;
+                <#if validator.shortCircuit>continueValidation = false;</#if>
+            }
+            <#elseif validator.validatorType = "email">
+            if (continueValidation && fieldValue != null && fieldValue.length > 0 && fieldValue.match("${validator.regex?js_string}")==null) {
+                addError(field, error);
+                errors = true;
+                <#if validator.shortCircuit>continueValidation = false;</#if>
+            }
+            <#elseif validator.validatorType = "url">
+            if (continueValidation && fieldValue != null && fieldValue.length > 0 && fieldValue.match("/${validator.urlRegex?js_string}/i")==null) {
+                addError(field, error);
+                errors = true;
+                <#if validator.shortCircuit>continueValidation = false;</#if>
+            }
+            <#elseif validator.validatorType = "int" || validator.validatorType = "short">
+            if (continueValidation && fieldValue != null) {
+                if (<#if validator.min??>parseInt(fieldValue) <
+                     ${validator.min?c}<#else>false</#if> ||
+                        <#if validator.max??>parseInt(fieldValue) >
+                           ${validator.max?c}<#else>false</#if>) {
+                    addError(field, error);
+                    errors = true;
+                    <#if validator.shortCircuit>continueValidation = false;</#if>
+                }
+            }
+            <#elseif validator.validatorType = "double">
+            if (continueValidation && fieldValue != null) {
+                var value = parseFloat(fieldValue);
+                if (<#if validator.minInclusive??>value < ${validator.minInclusive?c}<#else>false</#if> ||
+                        <#if validator.maxInclusive??>value > ${validator.maxInclusive?c}<#else>false</#if> ||
+                        <#if validator.minExclusive??>value <= ${validator.minExclusive?c}<#else>false</#if> ||
+                        <#if validator.maxExclusive??>value >= ${validator.maxExclusive?c}<#else>false</#if>) {
+                    addError(field, error);
+                    errors = true;
+                }
+            }
+            </#if>
+        }
+        </#list>
+    </#list>
+
+        return !errors;
+    }
+</script>
+</#if>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close.ftl
new file mode 100644
index 0000000..d783454
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-close.ftl
@@ -0,0 +1,35 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/control-close.ftl" />
+<#include "/${parameters.templateDir}/simple/form-close.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/form-close-validate.ftl" />
+<#if parameters.focusElement?if_exists != "">
+<script type="text/javascript">
+    StrutsUtils.addOnLoad(function() {
+        var element = document.getElementById("${parameters.focusElement?html}");
+        if(element) {
+            element.focus();
+        }
+    });
+</script>
+</#if>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-validate.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-validate.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-validate.ftl
new file mode 100644
index 0000000..6597f4e
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form-validate.ftl
@@ -0,0 +1,31 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if parameters.validate?default(false) == true>
+	<script type="text/javascript" src="${base}/struts/xhtml/validation.js"></script>
+	<script type="text/javascript" src="${base}/struts/utils.js"></script>
+	<#if parameters.onsubmit??>
+		${tag.addParameter('onsubmit', "${parameters.onsubmit}; return validateForm_${parameters.id?replace('[^a-zA-Z0-9_]', '_', 'r')}();")}
+	<#else>
+		${tag.addParameter('onsubmit', "return validateForm_${parameters.id?replace('[^a-zA-Z0-9_]', '_', 'r')}();")}
+	</#if>
+</#if>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/form.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/form.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form.ftl
new file mode 100644
index 0000000..5a686dd
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/form.ftl
@@ -0,0 +1,33 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/form-validate.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" />
+<#if (parameters.validate?default(false))>
+  onreset="${parameters.onreset?default('clearErrorMessages(this);clearErrorLabels(this);')}"
+<#else>
+  <#if parameters.onreset??>
+  onreset="${parameters.onreset?html}"
+  </#if>
+</#if>
+>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/control.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/head.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/head.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/head.ftl
new file mode 100644
index 0000000..e8a8fb8
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/head.ftl
@@ -0,0 +1,24 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<link rel="stylesheet" href="<@s.url value='/struts/xhtml/styles.css' includeParams='none' encode='false' />" type="text/css"/>
+<#include "/${parameters.templateDir}/simple/head.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/hidden.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/hidden.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/hidden.ftl
new file mode 100644
index 0000000..92881ab
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/hidden.ftl
@@ -0,0 +1,27 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<tr style="display:none;">
+  <td colspan="2">
+    <#include "/${parameters.templateDir}/simple/hidden.ftl" />
+  </td>
+</tr>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/inputtransferselect.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/inputtransferselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/inputtransferselect.ftl
new file mode 100644
index 0000000..f25a6ab
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/inputtransferselect.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/inputtransferselect.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/label.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/label.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/label.ftl
new file mode 100644
index 0000000..8faf8d6
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/label.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/label.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/optiontransferselect.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/optiontransferselect.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/optiontransferselect.ftl
new file mode 100644
index 0000000..e1cd440
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/optiontransferselect.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/optiontransferselect.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/password.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/password.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/password.ftl
new file mode 100644
index 0000000..202da51
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/password.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/password.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/radiomap.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/radiomap.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/radiomap.ftl
new file mode 100644
index 0000000..008de45
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/radiomap.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/radiomap.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" /><#nt/>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/reset.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/reset.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/reset.ftl
new file mode 100644
index 0000000..8e6e2b5
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/reset.ftl
@@ -0,0 +1,31 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<tr>
+    <td colspan="2"><div <#rt/>
+<#if parameters.align??>
+    align="${parameters.align?html}"<#t/>
+</#if>
+><#t/>
+<#include "/${parameters.templateDir}/simple/reset.ftl" />
+</div><#t/>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/select.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/select.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/select.ftl
new file mode 100644
index 0000000..9d07046
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/select.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/select.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/styles.css
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/styles.css b/themes-override/src/main/webapp/WEB-INF/template/xhtml/styles.css
new file mode 100644
index 0000000..dd54904
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/styles.css
@@ -0,0 +1,29 @@
+/*
+ * $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.
+ */
+
+.wwFormTable {}
+.label {font-style:italic; }
+.errorLabel {font-style:italic; color:red; }
+.errorMessage {font-weight:bold; color:red; }
+.checkboxLabel {}
+.checkboxErrorLabel {color:red; }
+.required {color:red;}
+.tdLabel {text-align:right; vertical-align:top; } 

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit-close.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit-close.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit-close.ftl
new file mode 100644
index 0000000..faa551c
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit-close.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/simple/submit-close.ftl" />
+</div><#t/>
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit.ftl
new file mode 100644
index 0000000..7b82921
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/submit.ftl
@@ -0,0 +1,29 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<tr>
+    <td colspan="2"><div <#rt/>
+<#if parameters.align??>
+    align="${parameters.align?html}"<#t/>
+</#if>
+><#t/>
+<#include "/${parameters.templateDir}/simple/submit.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/text.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/text.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/text.ftl
new file mode 100644
index 0000000..53f1647
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/text.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/text.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/textarea.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/textarea.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/textarea.ftl
new file mode 100644
index 0000000..46f77d9
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/textarea.ftl
@@ -0,0 +1,25 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
+<#include "/${parameters.templateDir}/simple/textarea.ftl" />
+<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/theme.properties
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/theme.properties b/themes-override/src/main/webapp/WEB-INF/template/xhtml/theme.properties
new file mode 100644
index 0000000..84dc155
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/theme.properties
@@ -0,0 +1,21 @@
+#
+# $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.
+#
+parent = simple

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/433ea016/themes-override/src/main/webapp/WEB-INF/template/xhtml/tooltip.ftl
----------------------------------------------------------------------
diff --git a/themes-override/src/main/webapp/WEB-INF/template/xhtml/tooltip.ftl b/themes-override/src/main/webapp/WEB-INF/template/xhtml/tooltip.ftl
new file mode 100644
index 0000000..74938a8
--- /dev/null
+++ b/themes-override/src/main/webapp/WEB-INF/template/xhtml/tooltip.ftl
@@ -0,0 +1,41 @@
+<#--
+/*
+ * $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.
+ */
+-->
+<#if parameters.tooltip??><#t/>
+      <img
+      <#if parameters.tooltipIconPath??><#t/>
+      	src='<@s.url value="${parameters.tooltipIconPath}" includeParams="none" encode="false" />'
+      <#else><#t/>
+      	src='<@s.url value="/struts/tooltip.gif" includeParams="none" encode="false" />'
+      </#if><#t/>
+      <#if parameters.jsTooltipEnabled?default('false') == 'true'>
+          onmouseover="domTT_activate(this, event, 'content', '${parameters.tooltip}'<#t/>
+          <#if parameters.tooltipDelay??><#t/>
+          	<#t/>,'delay', '${parameters.tooltipDelay}'<#t/>
+          </#if><#t/>
+          <#t/>,'styleClass', '${parameters.tooltipCssClass?default("StrutsTTClassic")}'<#t/>
+          <#t/>)" />
+      <#else>
+      	title="${parameters.tooltip?html}"
+      	alt="${parameters.tooltip?html}" />
+     </#if>
+</#if><#t/>


Mime
View raw message