Deleted examples. They weren't maintained much. Anyway, if we want examples, that should be done on GitHub for example. Putting them into the releases doesn't make much sense.
diff --git a/build.xml b/build.xml
index 06dc5eb..1d9769e 100644
--- a/build.xml
+++ b/build.xml
@@ -69,18 +69,6 @@
     property="boot.classpath.j2se1.6.correct"
   />
   
-  <condition property="example.freemarker.jar.location"
-    value="freemarker.jar" else="build/freemarker.jar">
-    <and>
-      <available  file="freemarker.jar" />
-      <not>
-        <available  file="build/freemarker.jar" />
-      </not>
-    </and>
-  </condition>
-  
-  <available file="lib/struts" property="struts.available" />
-  
   <!-- Set up version/timestamp filters and the version property: -->
   <tstamp>
     <format property="timestampNice" pattern="yyyy-MM-dd'T'HH:mm:ss'Z'"
@@ -598,69 +586,6 @@
     <u:manual offline="false" locale="zh_CN" />
   </target>
   
-  <!-- ====================== -->
-  <!-- Examples               -->
-  <!-- ====================== -->
-
-  <macrodef name="buildExampleWebapp" uri="http://freemarker.org/util">
-    <attribute name="exampleName" />
-    <sequential>
-      <mkdir dir="build/examples/@{exampleName}/WEB-INF/classes" />
-      <ivy:cachepath conf="example.@{exampleName}" pathid="ivy.dep" />
-      <javac
-        srcdir="src/examples/@{exampleName}/WEB-INF/classes"
-        destdir="build/examples/@{exampleName}/WEB-INF/classes"
-        deprecation="off" debug="on" optimize="off" target="1.5" source="1.5"
-        encoding="utf-8"
-        includeantruntime="false"
-        classpathref="ivy.dep"
-        bootclasspath="${boot.classpath.j2se1.5}"
-      >
-        <classpath>
-          <pathelement path="${ivy.dep}" />
-          <pathelement location="${example.freemarker.jar.location}" />
-          <fileset dir="lib/struts" erroronmissingdir="false">
-            <include name="*.jar" />
-          </fileset>
-        </classpath>
-      </javac>
-      <copy toDir="build/examples/@{exampleName}">
-        <fileset dir="src/examples/@{exampleName}" excludes="**/*.java" />
-      </copy>
-      <copy file="${example.freemarker.jar.location}"
-        todir="build/examples/@{exampleName}/WEB-INF/lib" />
-      <echo message="*** Example built: build/examples/@{exampleName} ***" />
-    </sequential>
-  </macrodef>
-  
-  <target name="example-webapp1" depends="jar" description="Build example webapp 1">
-    <u:buildExampleWebapp examplename="webapp1" />
-  </target>
-
-  <target name="example-webapp2" depends="jar" description="Build example webapp 2">
-    <u:buildExampleWebapp examplename="webapp2" />
-  </target>
-
-  <target name="example-struts-webapp" depends="jar" description="Build example Struts 1 webapp">
-    <fail unless="struts.available"><!--
-      -->You have to copy the Struts 1.1 jar-s to <!--
-      -->&lt;freemarker_project>/lib/struts to build this example!<!--
-    --></fail>
-    <copy todir="build/examples/struts-webapp/WEB-INF/lib">
-      <fileset dir="lib/struts" />
-    </copy>
-    <u:buildExampleWebapp examplename="struts-webapp" />
-  </target>
-  
-  <target name="example-ant" depends="jar" description="Build Ant example">
-    <mkdir dir="build/examples/ant" />
-    <copy toDir="build/examples/ant">
-      <fileset dir="src/examples/ant" />
-    </copy>
-    <copy file="${example.freemarker.jar.location}"
-      todir="build/examples/ant/lib" />
-    <echo message="*** Example built: build/examples/ant ***" />
-  </target>
 
   <!-- ====================== -->
   <!-- Distributuion building -->
diff --git a/src/examples/README.txt b/src/examples/README.txt
deleted file mode 100644
index 437cd28..0000000
--- a/src/examples/README.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.
- */
- 
-Examples
-========
-
-Examples for using FreeMarker (FM):
-
-webapp1        Building Web app. framework around FM, step 1: Hello World!
-webapp2        Building Web app. framework around FM, step 2: Guest-book
-struts-webapp  Using FM in a Model-2 framework (Struts 1.1) with JSP taglibs
-ant            Demonstrates the FreeMarker XML transform Ant-task
-
-To build the example webapps, you need Ant (http://ant.apache.org/) and run
-the following commands from the base FreeMarker directory:
-
-  ant example-<example-name>
-
-where <example-name> is the name of the example as struts-webapp or webapp1.
-The built Web applications will be in the build/examples directory.
-
-For more information read the help.html or README.txt in the directory of
-examples.
diff --git a/src/examples/ant/README.txt b/src/examples/ant/README.txt
deleted file mode 100644
index 5ac811c..0000000
--- a/src/examples/ant/README.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.
- */
- 
-Issue ant from this directory, and it will create an out directory with HTLM
-in it.
-
-You should do this in the already built example, not inside the
-src/examples/ant directory!
diff --git a/src/examples/ant/build.xml b/src/examples/ant/build.xml
deleted file mode 100644
index b60a2cb..0000000
--- a/src/examples/ant/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-  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.
--->
-<project name="FreeMarker-FAQ" default="generate" basedir=".">
-  <taskdef
-      name="freemarker"
-      classname="freemarker.ext.ant.FreemarkerXmlTask"
-      classpath="lib/freemarker.jar" />
-
-  <target name="generate">
-    <mkdir dir="html" />
-    <freemarker
-        basedir="src/xml"
-        destdir="out"
-        includes="**/*.xml"
-        template="src/template/faq2html.ftl" />
-  </target>
-    
-</project>
diff --git a/src/examples/ant/src/template/faq2html.ftl b/src/examples/ant/src/template/faq2html.ftl
deleted file mode 100644
index fb6a8ca..0000000
--- a/src/examples/ant/src/template/faq2html.ftl
+++ /dev/null
@@ -1,51 +0,0 @@
-<#--
-  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.
--->
-<#escape x as x?html>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-  <head>
-    <title>${.node.faq.@title}</title>
-    <meta name="keywords" content="FreeMarker, Java, servlet, HTML, template, free software, open source, XML" />
-  </head>
-  <body bgcolor="#ffffff">
-    <h2><a name="top">${.node.faq.@title}</a></h2>
-    <#noescape>${.node.faq.preface.@@markup}</#noescape>
-    <h3>Table of contents</h3>
-
-    <#list .node.faq.topicgroup as topicgroup>
-      <h4>${topicgroup.@name}</h4>
-      <ul>
-      <#list topicgroup.topic as topic>
-        <li><a href="#${topic.@id}">${topic.@name}</a></li>
-      </#list>
-      </ul>
-    </#list>
-
-    <p>If your question was not answered by this FAQ, write to
-    <a href="mailto:${.node.faq.@adminMailTo}">${.node.faq.@adminName}</a>
-    (the current maintainer).</p>
-    <#list .node.faq.topicgroup.topic as topic>
-      <hr />
-      <h3><a name="${topic.@id}">${topic.@name}</a></h3>
-        <#noescape>${topic.@@nested_markup}</#noescape>
-      <p><a href="#top">Back to top</a></p>
-    </#list>
-  </body>
-</html>
-</#escape>
\ No newline at end of file
diff --git a/src/examples/ant/src/xml/faq.xml b/src/examples/ant/src/xml/faq.xml
deleted file mode 100644
index d201a7f..0000000
--- a/src/examples/ant/src/xml/faq.xml
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  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.
--->
-<faq title="The Old FreeMarker FAQ" adminMailTo="run2000@users.sourceforge.net" adminName="Nicholas Cull">
-  <preface/>
-  <topicgroup name="Assembling template data models">
-    <topic id="basic" name="Can you give me some examples showing how to assemble a template data model?">
-<p>The easiest way is to use <tt>SimpleHash</tt>, <tt>SimpleList</tt>, and 
-<tt>SimpleScalar</tt>. For example, suppose you want to be able to use a 
-variable called <tt>foo.bar.baz.bing</tt> in your template. You could make a 
-structure of nested <tt>SimpleHash</tt> objects like this: </p>
-<pre>SimpleHash foo = new SimpleHash();
-SimpleHash bar = new SimpleHash();
-SimpleHash baz = new SimpleHash();
-SimpleScalar bing = new SimpleScalar("value of bing");
-baz.put("bing", bing);
-bar.put("baz", baz);
-foo.put("bar", bar);
-modelRoot.put("foo", foo);
-</pre>
-<p>What about nested lists? Suppose you wanted to write something like this in a 
-template: </p>
-<pre>&lt;list list1 as list2&gt;
-    &lt;list list2 as list3&gt;
-        &lt;list list3 as element&gt;
-            ${element}&lt;br&gt;
-        &lt;/list&gt;
-    &lt;/list&gt;
-&lt;/list&gt;
-</pre>
-<p>You could make nested <tt>SimpleList</tt>s like this: </p>
-<pre>SimpleList list1 = new SimpleList();
-for (int i = 0; i &lt; 3; i++) {
-    SimpleList list2 = new SimpleList();
-    for (int j = 0; j &lt; 3; j++) {
-        SimpleList list3 = new SimpleList();
-        for (int k = 0; k &lt; 3; k++) {
-            list3.add(new SimpleScalar("test " +
-                                       String.valueOf(i) +
-                                       " " +
-                                       String.valueOf(j) +
-                                       " " +
-                                       String.valueOf(k)));
-        }
-        list2.add(list3);
-    }
-    list1.add(list2);
-}
-
-modelRoot.put("list1", list1);
-</pre>
-<p>The template code above would then produce this output: </p>
-<p>test 0 0 0<br />test 0 0 1<br />test 0 0 2<br />test 0 1 0<br />test 0 1 1<br />test 0 
-1 2<br />test 0 2 0<br />test 0 2 1<br />test 0 2 2<br />test 1 0 0<br />test 1 0 
-1<br />test 1 0 2<br />test 1 1 0<br /></p>
-<p>etc.</p> 
-    </topic>
-    <topic id="xml" name="Can I use XML documents as data models?">
-      <p>Yes, you can. In particular, you have to first build a <a href="http://www.jdom.org/" target="_top">JDOM</a> tree
-      from your XML document, and afterwards you can use JDOM tree nodes as data models.
-      The extensions library has a class that can wrap a JDOM nodes to expose them to FreeMarker as
-      a template model. In order to wrap your JDOM document tree in a freemarker TemplateModel, it is 
-      sufficient to do the following:</p>
-      <pre>
-...
-org.jdom.Document document = getMyDocumentSomehow(...);
-TemplateModel model = new freemarker.ext.jdom.NodeListModel(document);
-...
-      </pre>
-      <p>In the example below, the templates will be able to access the XML document through the 
-      "document" variable. The adapter supports all kinds of tree traversals and filterings,
-      allows use of a node list as a TemplateListModel, and outputs XML fragments of contained nodes 
-      when used as a string literal. It also features full XPath support.</p>
-      <p>This FAQ page itself is created by applying a FreeMarker template to an XML document. Table
-      of contents with links, topic grouping, and "Back to top" are all generated by the template.
-      See the <tt>examples/jdom</tt> and <tt>examples/ant</tt>
-      directories in FreeMarker distribution for example on using the XML support.</p>
-    </topic>
-    <topic id="reflect" name="What's a good way to wrap an existing object so that a template can call its methods?">
-      <p>The extensions library has classes to wrap arbitrary Java objects
-      as data models. In general, all you need to do to wrap your object <tt>obj</tt> into
-      a TemplateModel is to call a single static factory method:</p>
-      <pre>
-...
-TemplateModel model = freemarker.ext.beans.ReflectionUtilities.wrap(obj);
-...
-      </pre>
-      <p>After this, you can write arbitrary method calls on the wrapped object, i.e. you
-      can write <tt>${obj.getFoo()}</tt> in a template to execute method foo and place its
-      result in the template output. Extensions library uses the JavaBeans introspector to discover available
-      methods, so you can use bean property-style invocations as well: in previous example you could 
-      have written <tt>${obj.foo}</tt> as well. If any property or method call returns an object,
-      it is automatically wrapped for you, so you can chain invocations: <tt>{$obj.bar.baz.bing}</tt>
-      would translate to what in Java would be <tt>obj.getBar().getBaz().getBing()</tt>.
-      The framework automatically recognizes arrays as well as iterators, maps and collections
-      from <tt>java.util</tt> package and provides them with additional capabilities (arrays,
-      iterators, and collections act as list models and maps act as both lists of their entries
-      and allow lookup when used as a method model). There is even a facility for invoking
-      static methods (in case you ever needed <tt>System.currentTimeMillis()</tt> in a template).</p>
-      <p>It is worth noting that the framework caches the results of introspection, so that 
-      the negative performance impact resulting from reflected method lookup is minimized.</p>
-      <p>For example on using the reflection wrapper, see the <tt>examples/webapp</tt>
-      directory in the FreeMarker distribution.</p>
-    </topic>
-  </topicgroup>
-  <topicgroup name="Integration">
-    <topic id="servlet" name="Is there a HTTP servlet for FreeMarker I can use out-of-the-box?">
-      <p>Yes, there is. The extensions library has the class <tt>freemarker.ext.servlet.FreemarkerServlet</tt>
-      that you can use to provide template processing capabilities to your webapp. There is even a sample
-      webapp under the <tt>examples/webapp</tt> directory of the distribution that should get you started.</p>
-      <p>In general, you should only place the following inside your <tt>web.xml</tt> file:</p>
-<pre>
-  &lt;servlet&gt;
-    &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;
-    &lt;servlet-class&gt;freemarker.ext.servlet.FreemarkerServlet&lt;/servlet-class&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;TemplatePath&lt;/param-name&gt;
-      &lt;param-value&gt;/templates&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;TemplateDelay&lt;/param-name&gt;
-      &lt;param-value&gt;0&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;init-param&gt;
-      &lt;param-name&gt;NoCache&lt;/param-name&gt;
-      &lt;param-value&gt;true&lt;/param-value&gt;
-    &lt;/init-param&gt;
-    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
-  &lt;/servlet&gt;
-
-  &lt;servlet-mapping&gt;
-    &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;
-    &lt;url-pattern&gt;/templates/*&lt;/url-pattern&gt;
-  &lt;/servlet-mapping&gt;
-</pre>
-    <p>This will map all URLs beginning with /templates/ to templates in your <tt>webapp/templates</tt> directory.
-    The servlet readily provides access to ServletContext, HttpSession, HttpServletRequest and HttpServletRequest 
-    parameters in the template data model. If you need to have additional variables available in your data model, 
-    just subclass the servlet and override the <tt>preTemplateProcess()</tt> method to shove any additional data
-    you need into the model before the template gets processed.</p>
-    </topic>
-    <topic id="ant" name="Can I use FreeMarker template processing in Ant?">
-      <p>Yes, you can. In particular, there is a FreeMarker task for Ant that will get a set of XML
-      files, run them through a FreeMarker template, and output the resulting files in a target 
-      directory. This method is ideal for generating documentation, SQL scripts, or any other
-      transformation requried during your build process. It is a viable alternative to Ant's
-      <tt>xslt</tt> task. The Ant task is part of the extensions library. See the <tt>examples/ant</tt>
-      directory in FreeMarker distribution for a sample <tt>build.xml</tt> file that employs FreeMarker.</p>
-    </topic>
-  </topicgroup>
-  <topicgroup name="Features">
-    <topic id="arithmetic" name="Is it possible to do integer arithmetic in templates?">
-      <p>Yes. As of 2.0, FreeMarker supports numerics without casting in and
-      out of TemplateScalarModel. The new TemplateNumberModel intrace means
-      that numbers of any given precision are supported, not just integers.
-      </p>
-      <p>The basic arithmetic operators are supported,
-      and meaningful comparison can be made between numbers. Internally, 
-      FreeMarker uses BigDecimals to ensure that no precision is lost when 
-      performing arithmetic operations.  See the <a href="docs/manual/index.html" target="_top">manual</a> for further details.</p>
-    </topic>
-    <topic id="editorMangle" name="I'm using a visual HTML editor that mangles template tags. Will you change the template language syntax to accomodate my editor?">
-<p>I won't change the standard version, because a lot of templates depend on it. 
-However, FreeMarker is designed to make it easy for you to change the syntax to 
-suit your needs. Changing the tag delimiters, making tags case-insensitive, and 
-representing operators differently would be simple changes to make. Take a look 
-at <tt>freemarker.template.compiler.FMParser.jj</tt>, for more details.
-Let me know if you need further explanation of anything in the source code.</p>
-<p>My view is that the editors that break template code are themselves broken; 
-you'll probably have the same problem if you try to use them with other template 
-systems. A good editor should ignore, not mangle, what it doesn't understand. </p>
-     </topic>
-     <topic id="structureInfo" name="How can my Java classes ask a template for information about its structure (e.g. a list of all the variables)?">
-<p>This isn't possible, because variable names can be dynamically generated from 
-data (see the <a 
-href="docs/manual/expressions.html">manual</a>). 
-However, there's a more important reason why FreeMarker doesn't support this. 
-The design of FreeMarker is based on the idea of a separation between business 
-objects and presentation objects. This separation takes two forms: </p>
-<ol>
-  <li>The templates know what data to expect, but they don't know how it's 
-  generated. </li>
-  <li>The business objects know what data to produce, but they don't know how 
-  it's going to be displayed. Therefore, they don't know anything about 
-  templates. </li>
-</ol>
-<p>Since the business objects don't rely on the templates, if you need to use 
-them with some other presentation system, you won't have to rewrite your 
-application. </p>
-     </topic>
-  </topicgroup>
-  <topicgroup name="Legal issues">
-    <topic id="license" name="If we distribute FreeMarker with our product, do we have to release the source code for our product?">
-      <p>No. As of 2.0, FreeMarker is released under the BSD license. This 
-      means that source or binary distributions may be made freely, and
-      can be included in other products, whether commercial or open source.</p>
-      <p>The only restrictions apply to the copyright of FreeMarker itself,
-      and the use of FreeMarker or its contributors as endorsements of
-      your own product. See the <a href="LICENSE.txt">LICENSE</a> for
-      further details.</p>
-      <p>If you use FreeMarker, I hope you'll send me a link to some information about 
-      your product, but that's optional as well.</p> 
-    </topic>
-  </topicgroup>
-</faq>
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java b/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java
deleted file mode 100644
index f2df9a4..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/AddAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.List;
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-
-public class AddAction extends GuestbookAction {
-
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        GuestbookEntryForm f = (GuestbookEntryForm) form;
-        List guestbook = getGuestbook();
-        synchronized (guestbook) {
-            guestbook.add(0, new GuestbookEntry(
-                    f.getName(), f.getEmail(), f.getMessage()));
-        }
-        
-        return mapping.findForward("success");
-    }
-
-}
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties b/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
deleted file mode 100644
index 7d6f5c8..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/ApplicationResources.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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.
-
-errors.header=<p><font color=red>Please correct the following problems:</font><ul>
-errors.prefix=<li><font color=red>
-errors.suffix=</font>
-errors.footer=</ul>
-errors.required={0} is required.
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java b/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java
deleted file mode 100644
index 183fde5..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/FormAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-
-public class FormAction extends GuestbookAction {
-
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        return mapping.findForward("success");
-    }
-
-}
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java
deleted file mode 100644
index 6d8a7d4..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.*;
-import org.apache.struts.action.*;
-
-/**
- * Defines utility methods for this application. 
- */
-public class GuestbookAction extends Action {
-    
-    ArrayList getGuestbook() {
-        return (ArrayList) servlet.getServletContext()
-                .getAttribute(GuestbookActionServlet.GUESTBOOK_KEY);
-    }
-}
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
deleted file mode 100644
index b7e0496..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookActionServlet.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.*;
-import javax.servlet.*;
-
-import org.apache.struts.action.ActionServlet;
-
-public class GuestbookActionServlet extends ActionServlet {
-    
-    static final String GUESTBOOK_KEY = "guestbook";
-    
-    public void init(ServletConfig scfg) throws ServletException {
-        super.init(scfg);
-        
-        ServletContext sctx = scfg.getServletContext();
-        
-        // Add application specific global objects
-        sctx.setAttribute(GUESTBOOK_KEY, new ArrayList()); 
-    }
-}
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java
deleted file mode 100644
index 76fa240..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntry.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-public class GuestbookEntry {
-    private String name;
-    private String email;
-    private String message;
-
-    public GuestbookEntry(String name, String email, String message) {
-        this.name = name;
-        this.email = email;
-        this.message = message;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java b/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java
deleted file mode 100644
index 12b4dd6..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/GuestbookEntryForm.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.struts.action.*;
-
-public class GuestbookEntryForm extends ActionForm {
-    private String name;
-    private String email;
-    private String message;
-    
-    public GuestbookEntryForm() {
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = normalizeString(email);
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = normalizeString(message);
-    }
-
-    public void setName(String name) {
-        this.name = normalizeString(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-    
-    public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
-        ActionErrors errs = new ActionErrors();
-        if (name.length() == 0) {
-            errs.add("name", new ActionError("errors.required", "name"));
-        }
-        if (message.length() == 0) {
-            errs.add("message", new ActionError("errors.required", "message"));
-        }
-        return errs.size() == 0 ? null : errs;
-    }
-    
-    private static String normalizeString(String s) {
-        if (s == null) return "";
-        return s.trim();
-    }
-}
\ No newline at end of file
diff --git a/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java b/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java
deleted file mode 100644
index 695c283..0000000
--- a/src/examples/struts-webapp/WEB-INF/classes/example/IndexAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.*;
-import javax.servlet.http.*;
-import org.apache.struts.action.*;
-
-public class IndexAction extends GuestbookAction {
-    public ActionForward execute(
-            ActionMapping mapping,
-            ActionForm form,
-            HttpServletRequest req,
-            HttpServletResponse resp) throws Exception {
-
-        List snapShot;
-        
-        synchronized (getGuestbook()) {
-            snapShot = (List) getGuestbook().clone();
-        }
-        req.setAttribute("guestbook", snapShot);
-        
-        return mapping.findForward("success");
-    }
-}
diff --git a/src/examples/struts-webapp/WEB-INF/struts-config.xml b/src/examples/struts-webapp/WEB-INF/struts-config.xml
deleted file mode 100644
index 2a50399..0000000
--- a/src/examples/struts-webapp/WEB-INF/struts-config.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<!DOCTYPE struts-config PUBLIC
-          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
-          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
-
-<struts-config>
-  <form-beans>
-    <form-bean name="guestbookEntry" type="example.GuestbookEntryForm"/>
-  </form-beans>
-    
-  <action-mappings>
-    <action
-          path="/index"
-          type="example.IndexAction">
-      <forward name="success" path="/index.ftl"/>
-    </action>
-
-    <action
-          path="/form"
-          type="example.FormAction"
-          name="guestbookEntry"
-          scope="request"
-          validate="false">
-      <forward name="success" path="/form.ftl"/>
-    </action>
-    
-    <action
-          path="/add"
-          type="example.AddAction"
-          name="guestbookEntry"
-          validate="true"
-          scope="request"
-          input="/form.do">
-      <forward name="success" path="/add.ftl"/>
-    </action>
-    
-  </action-mappings>
-
-  <message-resources parameter="example.ApplicationResources"/>
-
-</struts-config>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/WEB-INF/struts-html.tld b/src/examples/struts-webapp/WEB-INF/struts-html.tld
deleted file mode 100644
index 5586e4b..0000000
--- a/src/examples/struts-webapp/WEB-INF/struts-html.tld
+++ /dev/null
@@ -1,2934 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-
-
-
-
-
-
-
-<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
-<taglib>
-<tlibversion>1.0</tlibversion>
-<jspversion>1.1</jspversion>
-<shortname>html</shortname>
-<uri>http://jakarta.apache.org/struts/tags-html-1.0</uri>
-<tag>
-<name>base</name>
-<tagclass>org.apache.struts.taglib.html.BaseTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>target</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>button</name>
-<tagclass>org.apache.struts.taglib.html.ButtonTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>cancel</name>
-<tagclass>org.apache.struts.taglib.html.CancelTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>checkbox</name>
-<tagclass>org.apache.struts.taglib.html.CheckboxTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>errors</name>
-<tagclass>org.apache.struts.taglib.html.ErrorsTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>bundle</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>file</name>
-<tagclass>org.apache.struts.taglib.html.FileTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>accept</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>maxlength</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>size</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>form</name>
-<tagclass>org.apache.struts.taglib.html.FormTag</tagclass>
-<bodycontent>JSP</bodycontent>
-<attribute>
-<name>action</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>enctype</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>focus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>method</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onreset</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onsubmit</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>target</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>type</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>frame</name>
-<tagclass>org.apache.struts.taglib.html.FrameTag</tagclass>
-<attribute>
-<name>anchor</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>forward</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>frameborder</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>frameName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>href</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>longdesc</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>marginheight</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>marginwidth</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>noresize</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramProperty</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramScope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scrolling</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>transaction</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>hidden</name>
-<tagclass>org.apache.struts.taglib.html.HiddenTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>write</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>html</name>
-<tagclass>org.apache.struts.taglib.html.HtmlTag</tagclass>
-<bodycontent>JSP</bodycontent>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>xhtml</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>image</name>
-<tagclass>org.apache.struts.taglib.html.ImageTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>align</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>border</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>bundle</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>pageKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>src</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>srcKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>img</name>
-<tagclass>org.apache.struts.taglib.html.ImgTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>align</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>border</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>bundle</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>height</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>hspace</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>imageName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ismap</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>lowsrc</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>pageKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramProperty</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramScope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>src</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>srcKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>usemap</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>vspace</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>width</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>javascript</name>
-<tagclass>org.apache.struts.taglib.html.JavascriptValidatorTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>dynamicJavascript</name>
-<required>false</required>
-<rtexprvalue>false</rtexprvalue>
-</attribute>
-<attribute>
-<name>formName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>method</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>src</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>staticJavascript</name>
-<required>false</required>
-<rtexprvalue>false</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>link</name>
-<tagclass>org.apache.struts.taglib.html.LinkTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>anchor</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>forward</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>href</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>linkName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramProperty</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramScope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>target</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>transaction</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>messages</name>
-<tagclass>org.apache.struts.taglib.html.MessagesTag</tagclass>
-<teiclass>org.apache.struts.taglib.html.MessagesTei</teiclass>
-<bodycontent>JSP</bodycontent>
-<attribute>
-<name>id</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>bundle</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>header</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>footer</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>message</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>multibox</name>
-<tagclass>org.apache.struts.taglib.html.MultiboxTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>option</name>
-<tagclass>org.apache.struts.taglib.html.OptionTag</tagclass>
-<attribute>
-<name>bundle</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>key</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>locale</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>options</name>
-<tagclass>org.apache.struts.taglib.html.OptionsTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>collection</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>filter</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>labelName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>labelProperty</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>optionsCollection</name>
-<tagclass>org.apache.struts.taglib.html.OptionsCollectionTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>filter</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>label</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>password</name>
-<tagclass>org.apache.struts.taglib.html.PasswordTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>maxlength</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>readonly</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>redisplay</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>size</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>radio</name>
-<tagclass>org.apache.struts.taglib.html.RadioTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>idName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>reset</name>
-<tagclass>org.apache.struts.taglib.html.ResetTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>rewrite</name>
-<tagclass>org.apache.struts.taglib.html.RewriteTag</tagclass>
-<bodycontent>empty</bodycontent>
-<attribute>
-<name>anchor</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>forward</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>href</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>page</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramName</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramProperty</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>paramScope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>scope</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>transaction</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>select</name>
-<tagclass>org.apache.struts.taglib.html.SelectTag</tagclass>
-<bodycontent>JSP</bodycontent>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>multiple</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>size</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>submit</name>
-<tagclass>org.apache.struts.taglib.html.SubmitTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>text</name>
-<tagclass>org.apache.struts.taglib.html.TextTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>maxlength</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>readonly</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>size</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-<tag>
-<name>textarea</name>
-<tagclass>org.apache.struts.taglib.html.TextareaTag</tagclass>
-<attribute>
-<name>accesskey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>alt</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>altKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>cols</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>disabled</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>indexed</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>name</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onblur</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onchange</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>ondblclick</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onfocus</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeydown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeypress</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onkeyup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousedown</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmousemove</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseout</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseover</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>onmouseup</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>property</name>
-<required>true</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>readonly</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>rows</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>style</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleClass</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>styleId</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>tabindex</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>title</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>titleKey</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-<attribute>
-<name>value</name>
-<required>false</required>
-<rtexprvalue>true</rtexprvalue>
-</attribute>
-</tag>
-</taglib>
-
diff --git a/src/examples/struts-webapp/WEB-INF/web.xml b/src/examples/struts-webapp/WEB-INF/web.xml
deleted file mode 100644
index fa8e60b..0000000
--- a/src/examples/struts-webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
-Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
-
-<web-app>
-  <display-name>FreeMarker Struts Example</display-name>
-
-  <!-- Struts controller servlet -->
-  <servlet>
-    <servlet-name>action</servlet-name>
-    <servlet-class>example.GuestbookActionServlet</servlet-class>
-    <init-param>
-      <param-name>config</param-name>
-      <param-value>/WEB-INF/struts-config.xml</param-value>
-    </init-param>
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-    <init-param>
-      <param-name>detail</param-name>
-      <param-value>2</param-value>
-    </init-param>
-    <load-on-startup>2</load-on-startup>
-  </servlet>
-
-  <!-- FreeMarker view servlet (to replace JSP) -->
-  <servlet>
-    <servlet-name>freemarker</servlet-name>
-    <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
-    
-    <!-- FreemarkerServlet settings: -->
-    <init-param>
-      <param-name>TemplatePath</param-name>
-      <param-value>/</param-value>
-    </init-param>
-    <init-param>
-      <param-name>NoCache</param-name>
-      <param-value>true</param-value>
-    </init-param>
-    <init-param>
-      <param-name>ContentType</param-name>
-      <param-value>text/html</param-value>
-    </init-param>
-    
-    <!-- FreeMarker settings: -->
-    <init-param>
-      <param-name>incompatible_improvements</param-name>
-      <param-value>2.3.21</param-value>
-    </init-param>
-    <init-param>
-      <param-name>template_exception_handler</param-name>
-      <!-- Some may prefer "html_debug" for development. -->
-      <param-value>rethrow</param-value>
-    </init-param>
-    <init-param>
-      <param-name>template_update_delay</param-name>
-      <!-- 0 is for development only! Use higher value otherwise. -->
-      <param-value>0</param-value>
-    </init-param>
-    <init-param>
-      <param-name>default_encoding</param-name>
-      <param-value>UTF-8</param-value>
-    </init-param>
-    <init-param>
-      <param-name>locale</param-name>
-      <param-value>en_US</param-value>
-    </init-param>
-    <init-param>
-      <param-name>number_format</param-name>
-      <param-value>0.####</param-value>
-    </init-param>
-    
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>action</servlet-name>
-    <url-pattern>*.do</url-pattern>
-  </servlet-mapping>
-
-  <servlet-mapping>
-    <servlet-name>freemarker</servlet-name>
-    <url-pattern>*.ftl</url-pattern>
-  </servlet-mapping>
-
-  <welcome-file-list>
-      <welcome-file>help.html</welcome-file>
-  </welcome-file-list>
-
-  <!--
-    Prevent the visiting of MVC Views from outside the servlet container.
-    RequestDispatcher.forward/include should and will still work.
-    Removing this may open security holes!
-  -->
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>FreeMarker MVC Views</web-resource-name>
-      <url-pattern>*.ftl</url-pattern>
-    </web-resource-collection> 
-    <auth-constraint>
-      <!-- Nobody is allowed to visit these -->
-    </auth-constraint>
-  </security-constraint>
-  
-</web-app>
diff --git a/src/examples/struts-webapp/add.ftl b/src/examples/struts-webapp/add.ftl
deleted file mode 100644
index e1c09b9..0000000
--- a/src/examples/struts-webapp/add.ftl
+++ /dev/null
@@ -1,32 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#escape x as x?html>
-
-<@com.page title="Entry added">
-  <p>You have added the following entry to the guestbook:
-  <p><b>Name:</b> ${guestbookEntry.name}
-  <#if guestbookEntry.email?length != 0>
-    <p><b>Email:</b> ${guestbookEntry.email}
-  </#if>
-  <p><b>Message:</b> ${guestbookEntry.message}
-  <p><a href="index.do">Back to the index page...</a>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/form.ftl b/src/examples/struts-webapp/form.ftl
deleted file mode 100644
index ee92da1..0000000
--- a/src/examples/struts-webapp/form.ftl
+++ /dev/null
@@ -1,39 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#global html=JspTaglibs["/WEB-INF/struts-html.tld"]>
-<#escape x as x?html>
-
-<@com.page title="Add Entry">
-  <@html.errors/>
-  
-  <@html.form action="/add">
-    <p>Your name:<br>
-    <@html.text property="name" size="60"/>
-    <p>Your e-mail (optional):<br>
-    <@html.text property="email" size="60"/>
-    <p>Message:<br>
-    <@html.textarea property="message" rows="3" cols="60"/>
-    <p><@html.submit value="Submit"/>
-  </@html.form>
-  
-  <p><a href="index.do">Back to the index page</a>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/help.html b/src/examples/struts-webapp/help.html
deleted file mode 100644
index 740bee8..0000000
--- a/src/examples/struts-webapp/help.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!--
-  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.
--->
-<html>
-<head>
-  <title>FreeMarker Struts Example - Help</title>
-  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
-</head>
-<body>
-
-<h1>FreeMarker Struts Example</h1>
-
-<p>This is an example of using FreeMarker templates instead of JSP with Struts 1.1.
-This meant to demonstrate how to use FreeMarker templates in a "Model 2" framework,
-and how to use custom JSP tags as if they were user-defined FreeMarker directives.
-(You can find more information about these in the FreeMarker Manual.)
-
-<p>To try this example you should visit
-<a href="index.do"><code>http://<i>yourServer</i>/<i>thisWebApp</i>/index.do</code></a>
-
-<p><b>Note:</b> To simplify the example, the guest-book entries are not stored
-persistently. If you reload the servlet all guest-book entry will lose.
-
-<hr>
-<p><a href="index.do">Back to the index page</a>
-  
-</body>
-</html>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/index.ftl b/src/examples/struts-webapp/index.ftl
deleted file mode 100644
index 531017c..0000000
--- a/src/examples/struts-webapp/index.ftl
+++ /dev/null
@@ -1,41 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#escape x as x?html>
-
-<@com.page title="Index">
-  <a href="form.do">Add new message</a> | <a href="help.html">Help</a>
-  <#if guestbook?size = 0>
-    <p>No messages.
-  <#else>
-    <p>The messages are:
-    <table border=0 cellspacing=2 cellpadding=2 width="100%">
-      <tr align=center valign=top>
-        <th bgcolor="#C0C0C0">Name
-        <th bgcolor="#C0C0C0">Message
-      <#list guestbook as e>
-        <tr align=left valign=top>
-          <td bgcolor="#E0E0E0">${e.name} <#if e.email?length != 0> (<a href="mailto:${e.email}">${e.email}</a>)</#if>
-          <td bgcolor="#E0E0E0">${e.message}
-      </#list>
-    </table>
-  </#if>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/lib/common.ftl b/src/examples/struts-webapp/lib/common.ftl
deleted file mode 100644
index 57d11be..0000000
--- a/src/examples/struts-webapp/lib/common.ftl
+++ /dev/null
@@ -1,39 +0,0 @@
-<#--
-  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.
--->
-<#macro page title>
-  <html>
-  <head>
-    <title>FreeMarker Struts Example - ${title?html}</title>
-    <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
-  </head>
-  <body>
-    <h1>${title?html}</h1>
-    <hr>
-    <#nested>
-    <hr>
-    <table border="0" cellspacing=0 cellpadding=0 width="100%">
-      <tr valign="middle">
-        <td align="left">
-          <i>FreeMarker Struts Example</i>
-        <td align="right">
-          <a href="http://freemarker.org"><img src="poweredby_ffffff.png" border=0></a>
-    </table>
-  </body>
-  </html>
-</#macro>
\ No newline at end of file
diff --git a/src/examples/struts-webapp/poweredby_ffffff.png b/src/examples/struts-webapp/poweredby_ffffff.png
deleted file mode 100644
index 22b3a80..0000000
--- a/src/examples/struts-webapp/poweredby_ffffff.png
+++ /dev/null
Binary files differ
diff --git a/src/examples/webapp1/WEB-INF/classes/example/HelloServlet.java b/src/examples/webapp1/WEB-INF/classes/example/HelloServlet.java
deleted file mode 100644
index b430338..0000000
--- a/src/examples/webapp1/WEB-INF/classes/example/HelloServlet.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.*;
-import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import freemarker.template.*;
-
-/**
- * This Servlet does not do anything useful, just prints "Hello World!". The
- * intent is to help you to get started if you want to build your own Controller
- * servlet that uses FreeMarker for the View. For more advanced example, see the
- * 2nd Web application example.
- */
-public class HelloServlet extends HttpServlet {
-
-    // Volatile so that it's properly published according to JSR 133 (JMM).
-    // Although, the servlet container most certainly makes this unnecessarry.
-    private volatile Configuration cfg; 
-    
-    public void init() {
-        // Initialize the FreeMarker configuration;
-        // - Create a configuration instance with the defaults of FreeMarker 2.3.21
-        Configuration cfg = new Configuration(Configuration.VERSION_2_3_21);
-        // - Templates are stoted in the WEB-INF/templates directory of the Web app.
-        cfg.setServletContextForTemplateLoading(
-            getServletContext(), "WEB-INF/templates");
-        // - Give the standard error page on template errors (HTTP 500, usually):
-        cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
-        // You should set various other settings in a real app.
-        // See the "webapp2" example for them.
-        
-        // Finished modifying cfg, so let's publish it to other threads:
-        this.cfg = cfg;
-    }
-    
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-        throws ServletException, IOException {
-        
-        // Build the data-model
-        Map root = new HashMap();
-        root.put("message", "Hello World!");
-        
-        // Get the templat object
-        Template t = cfg.getTemplate("test.ftl");
-        
-        // Prepare the HTTP response:
-        // - Use the charset of template for the output
-        // - Use text/html MIME-type
-        resp.setContentType("text/html; charset=" + t.getEncoding());
-        Writer out = resp.getWriter();
-        
-        // Merge the data-model and the template
-        try {
-            t.process(root, out);
-        } catch (TemplateException e) {
-            throw new ServletException(
-                    "Error while processing FreeMarker template", e);
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/examples/webapp1/WEB-INF/templates/test.ftl b/src/examples/webapp1/WEB-INF/templates/test.ftl
deleted file mode 100644
index 4a63c14..0000000
--- a/src/examples/webapp1/WEB-INF/templates/test.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<#--
-  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.
--->
-<html>
-<head>
-  <title>FreeMarker Example Web Application 1</title>
-</head>
-<body>
-  ${message}
-</body>
-</html>
\ No newline at end of file
diff --git a/src/examples/webapp1/WEB-INF/web.xml b/src/examples/webapp1/WEB-INF/web.xml
deleted file mode 100644
index aaecc63..0000000
--- a/src/examples/webapp1/WEB-INF/web.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<!DOCTYPE web-app
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-    "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-  <display-name>FreeMarker Example Web Application 1</display-name>
-  <servlet>
-    <servlet-name>hello</servlet-name>
-    <servlet-class>example.HelloServlet</servlet-class>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>hello</servlet-name>
-    <url-pattern>/hello</url-pattern>
-  </servlet-mapping>
-  <welcome-file-list>
-      <welcome-file>help.html</welcome-file>
-  </welcome-file-list>
-</web-app>
\ No newline at end of file
diff --git a/src/examples/webapp1/help.html b/src/examples/webapp1/help.html
deleted file mode 100644
index 2b777d2..0000000
--- a/src/examples/webapp1/help.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!--
-  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.
--->
-<html>
-<head>
-  <title>FreeMarker Example Web Application 1 - Help</title>
-  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
-</head>
-<body>
-
-<h1>FreeMarker Example Web Application 1</h1>
-
-<p>To try this example you should visit
-<a href="hello"><code>http://<i>yourServer</i>/<i>thisWebApp</i>/hello</code></a>
-
-<h2>What's this example about?</h2>
-
-<p>This Servlet does not do anything useful, just prints "Hello World!". The
-intent is to help you to get started if you want to build your own Controller
-servlet that uses FreeMarker for the View. For more advanced example, see the
-2nd Web application example.
-  
-</body>
-</html>
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/classes/example/ControllerServlet.java b/src/examples/webapp2/WEB-INF/classes/example/ControllerServlet.java
deleted file mode 100644
index 528270b..0000000
--- a/src/examples/webapp2/WEB-INF/classes/example/ControllerServlet.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.io.*;
-import java.util.*;
-import java.lang.reflect.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import freemarker.template.*;
-import freemarker.ext.beans.BeansWrapper;
-
-
-/**
- * <p>This is very very primitive MVC Controller servlet base class, based
- * on example 1. The application specific controller servlet should extend
- * this class.
- */
-public class ControllerServlet extends HttpServlet {
-
-    // Volatile so that it's properly published according to JSR 133 (JMM).
-    // Although, the servlet container most certainly makes this unnecessarry.
-    private volatile Configuration cfg; 
-    
-    public void init() {
-        // Initialize the FreeMarker configuration;
-        // - Create a configuration instance, with the not-100%-backward-compatible
-        //   fixes up until FreeMarker 2.3.21 applied (as far as it starts
-        //   with 2.3, these are only minor changes that doesn't affect most apps):
-        Configuration cfg = new Configuration(Configuration.VERSION_2_3_21);
-        // - Templates are stoted in the WEB-INF/templates directory of the Web app.
-        cfg.setServletContextForTemplateLoading(
-                getServletContext(), "WEB-INF/templates");
-        // - At most how often should FreeMarker check if a template was updated:
-        cfg.setTemplateUpdateDelay(isInDevelopmentMode() ? 0 : 60);
-        // - When developing, set an error handler that prints errors so they are
-        //   readable with a Web browser, otherwise we just let the HTTP 500
-        //   handler deal with it.
-        cfg.setTemplateExceptionHandler(
-                isInDevelopmentMode()
-                        ? TemplateExceptionHandler.HTML_DEBUG_HANDLER
-                        : TemplateExceptionHandler.RETHROW_HANDLER);
-        // - Set the default charset of the template files
-        cfg.setDefaultEncoding("ISO-8859-1");
-        // - Set the charset of the output. This is actually just a hint, that
-        //   templates may require for URL encoding and for generating META
-        //   element that uses http-equiv="Content-type".
-        cfg.setOutputEncoding("UTF-8");
-        // - Set the default locale
-        cfg.setLocale(Locale.US);
-        
-        // Finished modifying cfg, so let's publish it to other threads:
-        this.cfg = cfg;
-    }
-    
-    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
-            throws ServletException, IOException {
-        doGet(req, resp);
-    }
-    
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-        throws ServletException, IOException {
-        
-        // Choose action method
-        String action = req.getServletPath();
-        if (action == null) action = "index";
-        if (action.startsWith("/")) action = action.substring(1);
-        if (action.lastIndexOf(".") != -1) {
-            action = action.substring(0, action.lastIndexOf("."));
-        }
-        Method actionMethod;
-        try {
-            actionMethod =
-                    getClass().getMethod(action + "Action",
-                    new Class[]{HttpServletRequest.class, Page.class});
-        } catch (NoSuchMethodException e) {
-            throw new ServletException("Unknown action: " + action);
-        }
-        
-        // Set the request charset to the same as the output charset,
-        // because HTML forms normally send parameters encoded with that.
-        req.setCharacterEncoding(cfg.getOutputEncoding());
-        
-        // Call the action method
-        Page page = new Page();
-        try {
-            actionMethod.invoke(this, new Object[]{req, page});
-        } catch (IllegalAccessException e) {
-            throw new ServletException(e);
-        } catch (InvocationTargetException e) {
-            throw new ServletException(e.getTargetException());
-        }
-        
-        if (page.getTemplate() != null) { // show a page with a template
-            // Get the template object
-            Template t = cfg.getTemplate(page.getTemplate());
-            
-            // Prepare the HTTP response:
-            // - Set the MIME-type and the charset of the output.
-            //   Note that the charset should be in sync with the output_encoding setting.
-            resp.setContentType("text/html; charset=" + cfg.getOutputEncoding());
-            // - Prevent browser or proxy caching the page.
-            //   Note that you should use it only for development and for interactive
-            //   pages, as it significantly slows down the Web site.
-            resp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, "
-                    + "post-check=0, pre-check=0");
-            resp.setHeader("Pragma", "no-cache");
-            resp.setHeader("Expires", "Thu, 01 Dec 1994 00:00:00 GMT");
-            Writer out = resp.getWriter();
-            
-            // Merge the data-model and the template
-            try {
-                t.process(page.getRoot(), out);
-            } catch (TemplateException e) {
-                throw new ServletException(
-                        "Error while processing FreeMarker template", e);
-            }
-        } else if (page.getForward() != null) { // forward request
-            RequestDispatcher rd = req.getRequestDispatcher(page.getForward());
-            rd.forward(req, resp);            
-        } else {
-            throw new ServletException("The action didn't specified a command.");
-        }
-    }
-    
-    private boolean isInDevelopmentMode() {
-        // FIXME: Should detect this with a system property for example.
-        return true;
-    }
-    
-}
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/classes/example/GuestbookEntry.java b/src/examples/webapp2/WEB-INF/classes/example/GuestbookEntry.java
deleted file mode 100644
index 7e9f6f7..0000000
--- a/src/examples/webapp2/WEB-INF/classes/example/GuestbookEntry.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-public class GuestbookEntry {
-    private String name;
-    private String email;
-    private String message;
-    
-    public GuestbookEntry(String name, String email, String message) {
-        this.name = name;
-        this.email = email;
-        this.message = message;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}
diff --git a/src/examples/webapp2/WEB-INF/classes/example/GuestbookServlet.java b/src/examples/webapp2/WEB-INF/classes/example/GuestbookServlet.java
deleted file mode 100644
index fb0ddce..0000000
--- a/src/examples/webapp2/WEB-INF/classes/example/GuestbookServlet.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.io.IOException;
-import java.util.*;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.*;
-
-public class GuestbookServlet extends ControllerServlet {
-    /**
-     * Stores the list of guestbook entries.
-     * 
-     * <p>Note that for the sake of simplicity, this example
-     * does not try to store the guestbook persistenty.
-     */
-    private ArrayList guestbook = new ArrayList();
-    
-    public void indexAction(HttpServletRequest req, Page p) {
-        List snapShot;
-        synchronized (guestbook) {
-            snapShot = (List) guestbook.clone();
-        }
-        p.put("guestbook", snapShot);
-        p.setTemplate("index.ftl");
-    }
-
-    public void formAction (HttpServletRequest req, Page p)
-            throws IOException, ServletException {
-                
-        p.put("name", noNull(req.getParameter("name")));
-        p.put("email", noNull(req.getParameter("email")));
-        p.put("message", noNull(req.getParameter("message")));
-        List errors = (List) req.getAttribute("errors");
-        p.put("errors", errors == null ? new ArrayList() : errors);
-
-        p.setTemplate("form.ftl");
-    }
-
-    public void addAction (HttpServletRequest req, Page p)
-            throws IOException, ServletException {
-        List errors = new ArrayList();
-        String name = req.getParameter("name");
-        String email = req.getParameter("email");
-        String message = req.getParameter("message");
-        if (isBlank(name)) {
-            errors.add("You must give your name.");
-        }
-        if (isBlank(message)) {
-            errors.add("You must give a message.");
-        }
-
-        // Was the sent data was correct?
-        if (errors.isEmpty()) {
-            if (email == null) email = "";
-            // Create and insert the new guestbook entry.
-            GuestbookEntry e = new GuestbookEntry(
-                    name.trim(), email.trim(), message);
-            synchronized (guestbook) {
-                guestbook.add(0, e);
-            }
-            // Show "Entry added" page.
-            p.put("entry", e);
-            p.setTemplate("add.ftl");
-        } else {
-            // Go back to the page of the form
-            req.setAttribute("errors", errors);
-            p.setForward("form.a");
-        }
-    }
-
-    public static String noNull(String s) {
-        return s == null ? "" : s;
-    }
-    
-    public static boolean isBlank(String s) {
-        return s == null || s.trim().length() == 0; 
-    }
-}
diff --git a/src/examples/webapp2/WEB-INF/classes/example/Page.java b/src/examples/webapp2/WEB-INF/classes/example/Page.java
deleted file mode 100644
index fb3ac62..0000000
--- a/src/examples/webapp2/WEB-INF/classes/example/Page.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package example;
-
-import java.util.*;
-
-public class Page {
-    private String template;
-    private String forward;
-    private Map root = new HashMap();
-
-    public String getTemplate() {
-        return template;
-    }
-    
-    public void setTemplate(String template) {
-        forward = null;
-        this.template = template;
-    }
-
-    public void put(String name, Object value) {
-        root.put(name, value);
-    }
-    
-    public void put(String name, int value) {
-        root.put(name, Integer.valueOf(value));
-    }
-    
-    public void put(String name, double value) {
-        root.put(name, Double.valueOf(value));
-    }
-
-    public void put(String name, boolean value) {
-        root.put(name, Boolean.valueOf(value));
-    }
-    
-    public Map getRoot() {
-        return root;
-    }
-    
-    public String getForward() {
-        return forward;
-    }
-
-    public void setForward(String forward) {
-        template = null;
-        this.forward = forward;
-    }
-
-}
diff --git a/src/examples/webapp2/WEB-INF/templates/add.ftl b/src/examples/webapp2/WEB-INF/templates/add.ftl
deleted file mode 100644
index 58777b6..0000000
--- a/src/examples/webapp2/WEB-INF/templates/add.ftl
+++ /dev/null
@@ -1,32 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#escape x as x?html>
-
-<@com.page title="Entry added">
-  <p>You have added the following entry to the guestbook:
-  <p><b>Name:</b> ${entry.name}
-  <#if entry.email?length != 0>
-    <p><b>Email:</b> ${entry.email}
-  </#if>
-  <p><b>Message:</b> ${entry.message}
-  <p><a href="index.a">Back to the index page...</a>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/templates/form.ftl b/src/examples/webapp2/WEB-INF/templates/form.ftl
deleted file mode 100644
index 69b9b66..0000000
--- a/src/examples/webapp2/WEB-INF/templates/form.ftl
+++ /dev/null
@@ -1,44 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#escape x as x?html>
-
-<@com.page title="Add Entry">
-  <#if errors?size != 0>
-    <p><font color=red>Please correct the following problems:</font>
-    <ul>
-      <#list errors as e>
-        <li><font color=red>${e}</font>
-      </#list>
-    </ul>
-  </#if>
-  
-  <form method="POST" action="add.a">
-    <p>Your name:<br>
-    <input type="text" name="name" value="${name}" size=60>
-    <p>Your e-mail (optional):<br>
-    <input type="text" name="email" value="${email}" size=60>
-    <p>Message:<br>
-    <textarea name="message" wrap="soft" rows=3 cols=60>${message}</textarea>
-    <p><input type="submit" value="Submit">
-  </form>
-  <p><a href="index.a">Back to the index page</a>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/templates/index.ftl b/src/examples/webapp2/WEB-INF/templates/index.ftl
deleted file mode 100644
index 92ae90d..0000000
--- a/src/examples/webapp2/WEB-INF/templates/index.ftl
+++ /dev/null
@@ -1,42 +0,0 @@
-<#--
-  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.
--->
-<#import "/lib/common.ftl" as com>
-<#escape x as x?html>
-
-<@com.page title="Index">
-  <a href="form.a">Add new message</a> | <a href="help.html">How this works?</a>
-  
-  <#if guestbook?size = 0>
-    <p>No messages.
-  <#else>
-    <p>The messages are:
-    <table border=0 cellspacing=2 cellpadding=2 width="100%">
-      <tr align=center valign=top>
-        <th bgcolor="#C0C0C0">Name
-        <th bgcolor="#C0C0C0">Message
-      <#list guestbook as e>
-        <tr align=left valign=top>
-          <td bgcolor="#E0E0E0">${e.name} <#if e.email?length != 0> (<a href="mailto:${e.email}">${e.email}</a>)</#if>
-          <td bgcolor="#E0E0E0">${e.message}
-      </#list>
-    </table>
-  </#if>
-</@com.page>
-
-</#escape>
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/templates/lib/common.ftl b/src/examples/webapp2/WEB-INF/templates/lib/common.ftl
deleted file mode 100644
index c6c43ae..0000000
--- a/src/examples/webapp2/WEB-INF/templates/lib/common.ftl
+++ /dev/null
@@ -1,39 +0,0 @@
-<#--
-  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.
--->
-<#macro page title>
-  <html>
-  <head>
-    <title>FreeMarker Example Web Application 2 - ${title?html}</title>
-    <meta http-equiv="Content-type" content="text/html; charset=${.output_encoding}">
-  </head>
-  <body>
-    <h1>${title?html}</h1>
-    <hr>
-    <#nested>
-    <hr>
-    <table border="0" cellspacing=0 cellpadding=0 width="100%">
-      <tr valign="middle">
-        <td align="left">
-          <i>FreeMarker Example 2</i>
-        <td align="right">
-          <a href="http://freemarker.org"><img src="poweredby_ffffff.png" border=0></a>
-    </table>
-  </body>
-  </html>
-</#macro>
\ No newline at end of file
diff --git a/src/examples/webapp2/WEB-INF/web.xml b/src/examples/webapp2/WEB-INF/web.xml
deleted file mode 100644
index 91e8f3e..0000000
--- a/src/examples/webapp2/WEB-INF/web.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-
-<!DOCTYPE web-app
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-    "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-  <display-name>FreeMarker Example Web Application 2</display-name>
-  <servlet>
-    <servlet-name>guestbook</servlet-name>
-    <servlet-class>example.GuestbookServlet</servlet-class>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>guestbook</servlet-name>
-    <url-pattern>*.a</url-pattern>
-  </servlet-mapping>
-  <welcome-file-list>
-      <welcome-file>help.html</welcome-file>
-  </welcome-file-list>
-</web-app>
\ No newline at end of file
diff --git a/src/examples/webapp2/help.html b/src/examples/webapp2/help.html
deleted file mode 100644
index c8d8fed..0000000
--- a/src/examples/webapp2/help.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!--
-  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.
--->
-<html>
-<head>
-  <title>FreeMarker Example Web Application 2 - Help</title>
-  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
-</head>
-<body>
-
-<h1>FreeMarker Example Web Application 2</h1>
-
-<p>To try this example you should visit
-<a href="index.a"><code>http://<i>yourServer</i>/<i>thisWebApp</i>/index.a</code></a>
-
-<p><b>Note:</b> To simplify the example, the guest-book entries are not stored
-persistently. If you reload the servlet all guest-book entry will lose.
-
-
-<h2>What's this example about?</h2>
-
-<p>This is a very primitive controller servlet class (was written based on FreeMarker Example Web Application 1)
-and a simple guest-book appliction that uses the conroller servlet class. This whole stuff is a very
-primitive thing. It is only to get you started if you plan to develop some custom "framework" for your
-Web applications, rather than using an already written framework.
-Note that a Web application framework can use very different approach than this
-example.
-
-
-<h2>How this example works?</h2>
-
-<p>This example uses a primitive controller servlet, <code>example.ControllerServlet</code>.
-To add application specific behavior, you should extend this servlet
-with an application specific subclass, that adds the so-called action
-methods. Here we implement a primitive guest book application by
-extending <code>ControllerServlet</code> with <code>GuestbookServlet</code>, that adds 3
-action methods:
-<ul>
-  <li><code>indexAction</code>: Shows the whole guest-book.
-  <li><code>formAction</code>: Show the from where you enter a guest-book entry.
-  <li><code>addAction</code>: Adds a new guest-book entry.
-</ul>
-
-<p>The <code>ControllerServlet</code> calls the action methods when it receives client requests.
-It deduces the name of the action methods to call
-from the request URL. The servlet will be invoked only if the request URL is
-ending with ".a", as you can see in the <code>WEB-INF/web.xml</code>, otherwise a static file
-(for example this html file, or an image file) will be returned as is.
-To deduce the method name, the servlet removes the <code>.a</code> and the Web-application directory
-from the request URL, and then appends <code>"Action"</code>. Thus, if you type
-<code>http://<i>yourServler</i>/<i>thisWebApp</i>/foo.a</code>, then it will try to
-call the <code>fooAction</code> method.
-
-<p>Each action method gets two parameters: the <code>HttpServletRequest</code>, and
-the <code>Page</code> object. The <code>Page</code> object plays the role of
-<code>HttpServletResponse</code>, but instead of calling low lever methods,
-you add objects to the data model with <code>put(<i>name</i>, <i>value</i>)</code>, and
-choose the template (the view) with <code>setTemplate(<i>templateName</i>)</code>; the
-tedious dirty work is done by <code>ControllerServlet</code>.
-
-<p>The templates are stored in the <code>WEB-INF/templates</code> directory.
-
-<p>For more details read the source code.
-
-<hr>
-<p><a href="index.a">Back to the index page</a>
-  
-</body>
-</html>
\ No newline at end of file
diff --git a/src/examples/webapp2/poweredby_ffffff.png b/src/examples/webapp2/poweredby_ffffff.png
deleted file mode 100644
index 22b3a80..0000000
--- a/src/examples/webapp2/poweredby_ffffff.png
+++ /dev/null
Binary files differ