升级Tomcat版本 apache-tomcat-7.0.77
diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/Functions.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/Functions.java.html
index 350fce6..91abc75 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/Functions.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/Functions.java.html
@@ -17,29 +17,31 @@
 */

 package jsp2.examples.el;

 

+import java.util.Locale;

+

 /**

  * Defines the functions for the jsp2 example tag library.

- * 

+ *

  * <p>Each function is defined as a static method.</p>

  */

 public class Functions {

     public static String reverse( String text ) {

-        return new StringBuffer( text ).reverse().toString();

+        return new StringBuilder( text ).reverse().toString();

     }

 

     public static int numVowels( String text ) {

         String vowels = "aeiouAEIOU";

-	int result = 0;

+        int result = 0;

         for( int i = 0; i < text.length(); i++ ) {

-	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {

-	        result++;

-	    }

-	}

-	return result;

+            if( vowels.indexOf( text.charAt( i ) ) != -1 ) {

+                result++;

+            }

+        }

+        return result;

     }

 

     public static String caps( String text ) {

-        return text.toUpperCase();

+        return text.toUpperCase(Locale.ENGLISH);

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesBean.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesBean.java.html
new file mode 100644
index 0000000..beadf72
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesBean.java.html
@@ -0,0 +1,54 @@
+<html><body><pre>

+/*

+* 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 jsp2.examples;

+

+/**

+ * Accept and display a value.

+ */

+public class ValuesBean {

+    private String string;

+    private double doubleValue;

+    private long longValue;

+

+    public String getStringValue() {

+        return this.string;

+    }

+

+    public void setStringValue(String string) {

+        this.string = string;

+    }

+

+    public double getDoubleValue() {

+        return doubleValue;

+    }

+

+    public void setDoubleValue(double doubleValue) {

+        this.doubleValue = doubleValue;

+    }

+

+    public long getLongValue() {

+        return longValue;

+    }

+

+    public void setLongValue(long longValue) {

+        this.longValue = longValue;

+    }

+}

+</pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesTag.java.html
new file mode 100644
index 0000000..16f62ab
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/ValuesTag.java.html
@@ -0,0 +1,81 @@
+<html><body><pre>

+/*

+ * 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 examples;

+

+import java.io.IOException;

+

+import javax.servlet.jsp.JspException;

+import javax.servlet.jsp.JspTagException;

+import javax.servlet.jsp.JspWriter;

+import javax.servlet.jsp.tagext.TagSupport;

+

+/**

+ * Accept and display a value.

+ */

+public class ValuesTag extends TagSupport {

+

+    private static final long serialVersionUID = 1L;

+

+    // Using "-1" as the default value,

+    // in the assumption that it won't be used as the value.

+    // Cannot use null here, because null is an important case

+    // that should be present in the tests.

+    private Object objectValue = "-1";

+    private String stringValue = "-1";

+    private long longValue = -1;

+    private double doubleValue = -1;

+

+    public void setObject(Object objectValue) {

+        this.objectValue = objectValue;

+    }

+

+    public void setString(String stringValue) {

+        this.stringValue = stringValue;

+    }

+

+    public void setLong(long longValue) {

+        this.longValue = longValue;

+    }

+

+    public void setDouble(double doubleValue) {

+        this.doubleValue = doubleValue;

+    }

+

+    @Override

+    public int doEndTag() throws JspException {

+        JspWriter out = pageContext.getOut();

+

+        try {

+            if (!"-1".equals(objectValue)) {

+                out.print(objectValue);

+            } else if (!"-1".equals(stringValue)) {

+                out.print(stringValue);

+            } else if (longValue != -1) {

+                out.print(longValue);

+            } else if (doubleValue != -1) {

+                out.print(doubleValue);

+            } else {

+                out.print("-1");

+            }

+        } catch (IOException ex) {

+            throw new JspTagException("IOException: " + ex.toString(), ex);

+        }

+        return super.doEndTag();

+    }

+}

+</pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp
index e2ec74c..a3b3e7a 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   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>JSP 2.0 Expression Language - Basic Arithmetic</title>

@@ -22,7 +22,7 @@
     <h1>JSP 2.0 Expression Language - Basic Arithmetic</h1>

     <hr>

     This example illustrates basic Expression Language arithmetic.

-    Addition (+), subtraction (-), multiplication (*), division (/ or div), 

+    Addition (+), subtraction (-), multiplication (*), division (/ or div),

     and modulus (% or mod) are all supported.  Error conditions, like

     division by zero, are handled gracefully.

     <br>

@@ -30,58 +30,58 @@
       <code>

         <table border="1">

           <thead>

-	    <td><b>EL Expression</b></td>

-	    <td><b>Result</b></td>

-	  </thead>

-	  <tr>

-	    <td>\${1}</td>

-	    <td>${1}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1 + 2}</td>

-	    <td>${1 + 2}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1.2 + 2.3}</td>

-	    <td>${1.2 + 2.3}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1.2E4 + 1.4}</td>

-	    <td>${1.2E4 + 1.4}</td>

-	  </tr>

-	  <tr>

-	    <td>\${-4 - 2}</td>

-	    <td>${-4 - 2}</td>

-	  </tr>

-	  <tr>

-	    <td>\${21 * 2}</td>

-	    <td>${21 * 2}</td>

-	  </tr>

-	  <tr>

-	    <td>\${3/4}</td>

-	    <td>${3/4}</td>

-	  </tr>

-	  <tr>

-	    <td>\${3 div 4}</td>

-	    <td>${3 div 4}</td>

-	  </tr>

-	  <tr>

-	    <td>\${3/0}</td>

-	    <td>${3/0}</td>

-	  </tr>

-	  <tr>

-	    <td>\${10%4}</td>

-	    <td>${10%4}</td>

-	  </tr>

-	  <tr>

-	    <td>\${10 mod 4}</td>

-	    <td>${10 mod 4}</td>

-	  </tr>

+        <td><b>EL Expression</b></td>

+        <td><b>Result</b></td>

+      </thead>

+      <tr>

+        <td>\${1}</td>

+        <td>${1}</td>

+      </tr>

+      <tr>

+        <td>\${1 + 2}</td>

+        <td>${1 + 2}</td>

+      </tr>

+      <tr>

+        <td>\${1.2 + 2.3}</td>

+        <td>${1.2 + 2.3}</td>

+      </tr>

+      <tr>

+        <td>\${1.2E4 + 1.4}</td>

+        <td>${1.2E4 + 1.4}</td>

+      </tr>

+      <tr>

+        <td>\${-4 - 2}</td>

+        <td>${-4 - 2}</td>

+      </tr>

+      <tr>

+        <td>\${21 * 2}</td>

+        <td>${21 * 2}</td>

+      </tr>

+      <tr>

+        <td>\${3/4}</td>

+        <td>${3/4}</td>

+      </tr>

+      <tr>

+        <td>\${3 div 4}</td>

+        <td>${3 div 4}</td>

+      </tr>

+      <tr>

+        <td>\${3/0}</td>

+        <td>${3/0}</td>

+      </tr>

+      <tr>

+        <td>\${10%4}</td>

+        <td>${10%4}</td>

+      </tr>

+      <tr>

+        <td>\${10 mod 4}</td>

+        <td>${10 mod 4}</td>

+      </tr>

     <tr>

       <td>\${(1==2) ? 3 : 4}</td>

       <td>${(1==2) ? 3 : 4}</td>

     </tr>

-	</table>

+    </table>

       </code>

     </blockquote>

   </body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html
index 4aa05c8..e703cde 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-arithmetic.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;html>

   &lt;head>

     &lt;title>JSP 2.0 Expression Language - Basic Arithmetic&lt;/title>

@@ -23,7 +23,7 @@
     &lt;h1>JSP 2.0 Expression Language - Basic Arithmetic&lt;/h1>

     &lt;hr>

     This example illustrates basic Expression Language arithmetic.

-    Addition (+), subtraction (-), multiplication (*), division (/ or div), 

+    Addition (+), subtraction (-), multiplication (*), division (/ or div),

     and modulus (% or mod) are all supported.  Error conditions, like

     division by zero, are handled gracefully.

     &lt;br>

@@ -31,58 +31,58 @@
       &lt;code>

         &lt;table border="1">

           &lt;thead>

-	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>

-	  &lt;/thead>

-	  &lt;tr>

-	    &lt;td>\${1}&lt;/td>

-	    &lt;td>${1}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1 + 2}&lt;/td>

-	    &lt;td>${1 + 2}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1.2 + 2.3}&lt;/td>

-	    &lt;td>${1.2 + 2.3}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1.2E4 + 1.4}&lt;/td>

-	    &lt;td>${1.2E4 + 1.4}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${-4 - 2}&lt;/td>

-	    &lt;td>${-4 - 2}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${21 * 2}&lt;/td>

-	    &lt;td>${21 * 2}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${3/4}&lt;/td>

-	    &lt;td>${3/4}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${3 div 4}&lt;/td>

-	    &lt;td>${3 div 4}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${3/0}&lt;/td>

-	    &lt;td>${3/0}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${10%4}&lt;/td>

-	    &lt;td>${10%4}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${10 mod 4}&lt;/td>

-	    &lt;td>${10 mod 4}&lt;/td>

-	  &lt;/tr>

+        &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+      &lt;/thead>

+      &lt;tr>

+        &lt;td>\${1}&lt;/td>

+        &lt;td>${1}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1 + 2}&lt;/td>

+        &lt;td>${1 + 2}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1.2 + 2.3}&lt;/td>

+        &lt;td>${1.2 + 2.3}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1.2E4 + 1.4}&lt;/td>

+        &lt;td>${1.2E4 + 1.4}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${-4 - 2}&lt;/td>

+        &lt;td>${-4 - 2}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${21 * 2}&lt;/td>

+        &lt;td>${21 * 2}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${3/4}&lt;/td>

+        &lt;td>${3/4}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${3 div 4}&lt;/td>

+        &lt;td>${3 div 4}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${3/0}&lt;/td>

+        &lt;td>${3/0}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${10%4}&lt;/td>

+        &lt;td>${10%4}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${10 mod 4}&lt;/td>

+        &lt;td>${10 mod 4}&lt;/td>

+      &lt;/tr>

     &lt;tr>

       &lt;td>\${(1==2) ? 3 : 4}&lt;/td>

       &lt;td>${(1==2) ? 3 : 4}&lt;/td>

     &lt;/tr>

-	&lt;/table>

+    &lt;/table>

       &lt;/code>

     &lt;/blockquote>

   &lt;/body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp
index e01188a..ce63d5a 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   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>JSP 2.0 Expression Language - Basic Comparisons</title>

@@ -36,80 +36,80 @@
       <code>

         <table border="1">

           <thead>

-	    <td><b>EL Expression</b></td>

-	    <td><b>Result</b></td>

-	  </thead>

-	  <tr>

-	    <td>\${1 &lt; 2}</td>

-	    <td>${1 < 2}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1 lt 2}</td>

-	    <td>${1 lt 2}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1 &gt; (4/2)}</td>

-	    <td>${1 > (4/2)}</td>

-	  </tr>

-	  <tr>

-	    <td>\${1 gt (4/2)}</td>

-	    <td>${1 gt (4/2)}</td>

-	  </tr>

-	  <tr>

-	    <td>\${4.0 &gt;= 3}</td>

-	    <td>${4.0 >= 3}</td>

-	  </tr>

-	  <tr>

-	    <td>\${4.0 ge 3}</td>

-	    <td>${4.0 ge 3}</td>

-	  </tr>

-	  <tr>

-	    <td>\${4 &lt;= 3}</td>

-	    <td>${4 <= 3}</td>

-	  </tr>

-	  <tr>

-	    <td>\${4 le 3}</td>

-	    <td>${4 le 3}</td>

-	  </tr>

-	  <tr>

-	    <td>\${100.0 == 100}</td>

-	    <td>${100.0 == 100}</td>

-	  </tr>

-	  <tr>

-	    <td>\${100.0 eq 100}</td>

-	    <td>${100.0 eq 100}</td>

-	  </tr>

-	  <tr>

-	    <td>\${(10*10) != 100}</td>

-	    <td>${(10*10) != 100}</td>

-	  </tr>

-	  <tr>

-	    <td>\${(10*10) ne 100}</td>

-	    <td>${(10*10) ne 100}</td>

-	  </tr>

-	</table>

+        <td><b>EL Expression</b></td>

+        <td><b>Result</b></td>

+      </thead>

+      <tr>

+        <td>\${1 &lt; 2}</td>

+        <td>${1 < 2}</td>

+      </tr>

+      <tr>

+        <td>\${1 lt 2}</td>

+        <td>${1 lt 2}</td>

+      </tr>

+      <tr>

+        <td>\${1 &gt; (4/2)}</td>

+        <td>${1 > (4/2)}</td>

+      </tr>

+      <tr>

+        <td>\${1 gt (4/2)}</td>

+        <td>${1 gt (4/2)}</td>

+      </tr>

+      <tr>

+        <td>\${4.0 &gt;= 3}</td>

+        <td>${4.0 >= 3}</td>

+      </tr>

+      <tr>

+        <td>\${4.0 ge 3}</td>

+        <td>${4.0 ge 3}</td>

+      </tr>

+      <tr>

+        <td>\${4 &lt;= 3}</td>

+        <td>${4 <= 3}</td>

+      </tr>

+      <tr>

+        <td>\${4 le 3}</td>

+        <td>${4 le 3}</td>

+      </tr>

+      <tr>

+        <td>\${100.0 == 100}</td>

+        <td>${100.0 == 100}</td>

+      </tr>

+      <tr>

+        <td>\${100.0 eq 100}</td>

+        <td>${100.0 eq 100}</td>

+      </tr>

+      <tr>

+        <td>\${(10*10) != 100}</td>

+        <td>${(10*10) != 100}</td>

+      </tr>

+      <tr>

+        <td>\${(10*10) ne 100}</td>

+        <td>${(10*10) ne 100}</td>

+      </tr>

+    </table>

       </code>

       <br>

       <u><b>Alphabetic</b></u>

       <code>

         <table border="1">

           <thead>

-	    <td><b>EL Expression</b></td>

-	    <td><b>Result</b></td>

-	  </thead>

-	  <tr>

-	    <td>\${'a' &lt; 'b'}</td>

-	    <td>${'a' < 'b'}</td>

-	  </tr>

-	  <tr>

-	    <td>\${'hip' &gt; 'hit'}</td>

-	    <td>${'hip' > 'hit'}</td>

-	  </tr>

-	  <tr>

-	    <td>\${'4' &gt; 3}</td>

-	    <td>${'4' > 3}</td>

-	  </tr>

-	</table>

+            <td><b>EL Expression</b></td>

+            <td><b>Result</b></td>

+          </thead>

+          <tr>

+            <td>\${'a' &lt; 'b'}</td>

+            <td>${'a' < 'b'}</td>

+          </tr>

+          <tr>

+            <td>\${'hip' &gt; 'hit'}</td>

+            <td>${'hip' > 'hit'}</td>

+          </tr>

+          <tr>

+            <td>\${'4' &gt; 3}</td>

+            <td>${'4' > 3}</td>

+          </tr>

+        </table>

       </code>

     </blockquote>

   </body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html
index efc4da3..c5db858 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/basic-comparisons.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;html>

   &lt;head>

     &lt;title>JSP 2.0 Expression Language - Basic Comparisons&lt;/title>

@@ -37,80 +37,80 @@
       &lt;code>

         &lt;table border="1">

           &lt;thead>

-	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>

-	  &lt;/thead>

-	  &lt;tr>

-	    &lt;td>\${1 &amp;lt; 2}&lt;/td>

-	    &lt;td>${1 &lt; 2}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1 lt 2}&lt;/td>

-	    &lt;td>${1 lt 2}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>

-	    &lt;td>${1 > (4/2)}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${1 gt (4/2)}&lt;/td>

-	    &lt;td>${1 gt (4/2)}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${4.0 &amp;gt;= 3}&lt;/td>

-	    &lt;td>${4.0 >= 3}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${4.0 ge 3}&lt;/td>

-	    &lt;td>${4.0 ge 3}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${4 &amp;lt;= 3}&lt;/td>

-	    &lt;td>${4 &lt;= 3}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${4 le 3}&lt;/td>

-	    &lt;td>${4 le 3}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${100.0 == 100}&lt;/td>

-	    &lt;td>${100.0 == 100}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${100.0 eq 100}&lt;/td>

-	    &lt;td>${100.0 eq 100}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${(10*10) != 100}&lt;/td>

-	    &lt;td>${(10*10) != 100}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${(10*10) ne 100}&lt;/td>

-	    &lt;td>${(10*10) ne 100}&lt;/td>

-	  &lt;/tr>

-	&lt;/table>

+        &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+      &lt;/thead>

+      &lt;tr>

+        &lt;td>\${1 &amp;lt; 2}&lt;/td>

+        &lt;td>${1 &lt; 2}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1 lt 2}&lt;/td>

+        &lt;td>${1 lt 2}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>

+        &lt;td>${1 > (4/2)}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1 gt (4/2)}&lt;/td>

+        &lt;td>${1 gt (4/2)}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${4.0 &amp;gt;= 3}&lt;/td>

+        &lt;td>${4.0 >= 3}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${4.0 ge 3}&lt;/td>

+        &lt;td>${4.0 ge 3}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${4 &amp;lt;= 3}&lt;/td>

+        &lt;td>${4 &lt;= 3}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${4 le 3}&lt;/td>

+        &lt;td>${4 le 3}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${100.0 == 100}&lt;/td>

+        &lt;td>${100.0 == 100}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${100.0 eq 100}&lt;/td>

+        &lt;td>${100.0 eq 100}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${(10*10) != 100}&lt;/td>

+        &lt;td>${(10*10) != 100}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${(10*10) ne 100}&lt;/td>

+        &lt;td>${(10*10) ne 100}&lt;/td>

+      &lt;/tr>

+    &lt;/table>

       &lt;/code>

       &lt;br>

       &lt;u>&lt;b>Alphabetic&lt;/b>&lt;/u>

       &lt;code>

         &lt;table border="1">

           &lt;thead>

-	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>

-	  &lt;/thead>

-	  &lt;tr>

-	    &lt;td>\${'a' &amp;lt; 'b'}&lt;/td>

-	    &lt;td>${'a' &lt; 'b'}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${'hip' &amp;gt; 'hit'}&lt;/td>

-	    &lt;td>${'hip' > 'hit'}&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${'4' &amp;gt; 3}&lt;/td>

-	    &lt;td>${'4' > 3}&lt;/td>

-	  &lt;/tr>

-	&lt;/table>

+            &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+            &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+          &lt;/thead>

+          &lt;tr>

+            &lt;td>\${'a' &amp;lt; 'b'}&lt;/td>

+            &lt;td>${'a' &lt; 'b'}&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${'hip' &amp;gt; 'hit'}&lt;/td>

+            &lt;td>${'hip' > 'hit'}&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${'4' &amp;gt; 3}&lt;/td>

+            &lt;td>${'4' > 3}&lt;/td>

+          &lt;/tr>

+        &lt;/table>

       &lt;/code>

     &lt;/blockquote>

   &lt;/body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.html
new file mode 100644
index 0000000..b8bfa0e
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.html
@@ -0,0 +1,31 @@
+<html>

+<!--

+ 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.

+-->

+<head>

+<title>View Source Code</title>

+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

+</head>

+

+<body bgcolor="#FFFFFF">

+<p><font color="#0000FF"><a href="composite.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>

+

+<h3><a href="composite.jsp.html">Source Code for composite.jsp</a></h3>

+<h3><a href="ValuesTag.java.html">Source Code for ValuesTag.java</a></h3>

+<h3><a href="ValuesBean.java.html">Source Code for ValuesBean.java</a></h3>

+

+</body>

+</html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp
new file mode 100644
index 0000000..c6fa113
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp
@@ -0,0 +1,110 @@
+<%--

+ Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+--%>

+<%@ taglib prefix="my" uri="http://tomcat.apache.org/example-taglib" %>

+

+<html>

+  <head>

+    <title>JSP 2.0 Expression Language - Composite Expressions</title>

+  </head>

+  <body>

+    <h1>JSP 2.0 Expression Language - Composite Expressions</h1>

+    <hr>

+    This example illustrates EL composite expressions. Composite expressions

+    are formed by grouping together multiple EL expressions. Each of them is

+    evaluated from left to right, coerced to String, all those strings are

+    concatenated, and the result is coerced to the expected type.

+

+    <jsp:useBean id="values" class="jsp2.examples.ValuesBean" />

+

+    <blockquote>

+      <code>

+        <table border="1">

+          <thead>

+        <td><b>EL Expression</b></td>

+        <td><b>Type</b></td>

+        <td><b>Result</b></td>

+      </thead>

+      <tr>

+        <td>\${'hello'} wo\${'rld'}</td>

+        <td>String</td>

+        <td><jsp:setProperty name="values" property="stringValue" value="${'hello'} wo${'rld'}"/>${values.stringValue}</td>

+      </tr>

+      <tr>

+        <td>\${'hello'} wo\${'rld'}</td>

+        <td>String</td>

+        <td><my:values string="${'hello'} wo${'rld'}"/></td>

+      </tr>

+      <tr>

+        <td>\${1+2}.\${220}</td>

+        <td>Double</td>

+        <td><jsp:setProperty name="values" property="doubleValue" value="${1+2}.${220}"/>${values.doubleValue}</td>

+      </tr>

+      <tr>

+        <td>\${1+2}.\${220}</td>

+        <td>Double</td>

+        <td><my:values double="${1+2}.${220}"/></td>

+      </tr>

+      <tr>

+        <td>000\${1}\${7}</td>

+        <td>Long</td>

+        <td><jsp:setProperty name="values" property="longValue" value="000${1}${7}"/>${values.longValue}</td>

+      </tr>

+      <tr>

+        <td>000\${1}\${7}</td>

+        <td>Long</td>

+        <td><my:values long="000${1}${7}"/></td>

+      </tr>

+      <!--

+         Undefined values are to be coerced to String, to be "",

+         https://bz.apache.org/bugzilla/show_bug.cgi?id=47413

+       -->

+      <tr>

+        <td>\${undefinedFoo}hello world\${undefinedBar}</td>

+        <td>String</td>

+        <td><jsp:setProperty name="values" property="stringValue" value="${undefinedFoo}hello world${undefinedBar}"/>${values.stringValue}</td>

+      </tr>

+      <tr>

+        <td>\${undefinedFoo}hello world\${undefinedBar}</td>

+        <td>String</td>

+        <td><my:values string="${undefinedFoo}hello world${undefinedBar}"/></td>

+      </tr>

+      <tr>

+        <td>\${undefinedFoo}\${undefinedBar}</td>

+        <td>Double</td>

+        <td><jsp:setProperty name="values" property="doubleValue" value="${undefinedFoo}${undefinedBar}"/>${values.doubleValue}</td>

+      </tr>

+      <tr>

+        <td>\${undefinedFoo}\${undefinedBar}</td>

+        <td>Double</td>

+        <td><my:values double="${undefinedFoo}${undefinedBar}"/></td>

+      </tr>

+      <tr>

+        <td>\${undefinedFoo}\${undefinedBar}</td>

+        <td>Long</td>

+        <td><jsp:setProperty name="values" property="longValue" value="${undefinedFoo}${undefinedBar}"/>${values.longValue}</td>

+      </tr>

+      <tr>

+        <td>\${undefinedFoo}\${undefinedBar}</td>

+        <td>Long</td>

+        <td><my:values long="${undefinedFoo}${undefinedBar}"/></td>

+      </tr>

+    </table>

+      </code>

+    </blockquote>

+  </body>

+</html>

+

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp.html
new file mode 100644
index 0000000..1d0014f
--- /dev/null
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/composite.jsp.html
@@ -0,0 +1,112 @@
+<html><body><pre>

+&lt;%--

+ 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.

+--%>

+&lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/example-taglib" %>

+

+&lt;html>

+  &lt;head>

+    &lt;title>JSP 2.0 Expression Language - Composite Expressions&lt;/title>

+  &lt;/head>

+  &lt;body>

+    &lt;h1>JSP 2.0 Expression Language - Composite Expressions&lt;/h1>

+    &lt;hr>

+    This example illustrates EL composite expressions. Composite expressions

+    are formed by grouping together multiple EL expressions. Each of them is

+    evaluated from left to right, coerced to String, all those strings are

+    concatenated, and the result is coerced to the expected type.

+

+    &lt;jsp:useBean id="values" class="jsp2.examples.ValuesBean" />

+

+    &lt;blockquote>

+      &lt;code>

+        &lt;table border="1">

+          &lt;thead>

+        &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Type&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+      &lt;/thead>

+      &lt;tr>

+        &lt;td>\${'hello'} wo\${'rld'}&lt;/td>

+        &lt;td>String&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="stringValue" value="${'hello'} wo${'rld'}"/>${values.stringValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${'hello'} wo\${'rld'}&lt;/td>

+        &lt;td>String&lt;/td>

+        &lt;td>&lt;my:values string="${'hello'} wo${'rld'}"/>&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1+2}.\${220}&lt;/td>

+        &lt;td>Double&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="doubleValue" value="${1+2}.${220}"/>${values.doubleValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${1+2}.\${220}&lt;/td>

+        &lt;td>Double&lt;/td>

+        &lt;td>&lt;my:values double="${1+2}.${220}"/>&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>000\${1}\${7}&lt;/td>

+        &lt;td>Long&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="longValue" value="000${1}${7}"/>${values.longValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>000\${1}\${7}&lt;/td>

+        &lt;td>Long&lt;/td>

+        &lt;td>&lt;my:values long="000${1}${7}"/>&lt;/td>

+      &lt;/tr>

+      &lt;!--

+         Undefined values are to be coerced to String, to be "",

+         https://bz.apache.org/bugzilla/show_bug.cgi?id=47413

+       -->

+      &lt;tr>

+        &lt;td>\${undefinedFoo}hello world\${undefinedBar}&lt;/td>

+        &lt;td>String&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="stringValue" value="${undefinedFoo}hello world${undefinedBar}"/>${values.stringValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${undefinedFoo}hello world\${undefinedBar}&lt;/td>

+        &lt;td>String&lt;/td>

+        &lt;td>&lt;my:values string="${undefinedFoo}hello world${undefinedBar}"/>&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${undefinedFoo}\${undefinedBar}&lt;/td>

+        &lt;td>Double&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="doubleValue" value="${undefinedFoo}${undefinedBar}"/>${values.doubleValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${undefinedFoo}\${undefinedBar}&lt;/td>

+        &lt;td>Double&lt;/td>

+        &lt;td>&lt;my:values double="${undefinedFoo}${undefinedBar}"/>&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${undefinedFoo}\${undefinedBar}&lt;/td>

+        &lt;td>Long&lt;/td>

+        &lt;td>&lt;jsp:setProperty name="values" property="longValue" value="${undefinedFoo}${undefinedBar}"/>${values.longValue}&lt;/td>

+      &lt;/tr>

+      &lt;tr>

+        &lt;td>\${undefinedFoo}\${undefinedBar}&lt;/td>

+        &lt;td>Long&lt;/td>

+        &lt;td>&lt;my:values long="${undefinedFoo}${undefinedBar}"/>&lt;/td>

+      &lt;/tr>

+    &lt;/table>

+      &lt;/code>

+    &lt;/blockquote>

+  &lt;/body>

+&lt;/html>

+

+</pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp
index 66478c0..90895aa 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 <%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

@@ -26,39 +26,39 @@
     <hr>

     An upgrade from the JSTL expression language, the JSP 2.0 EL also

     allows for simple function invocation.  Functions are defined

-    by tag libraries and are implemented by a Java programmer as 

+    by tag libraries and are implemented by a Java programmer as

     static methods.

 

     <blockquote>

       <u><b>Change Parameter</b></u>

       <form action="functions.jsp" method="GET">

-	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

+          foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

           <input type="submit">

       </form>

       <br>

       <code>

         <table border="1">

           <thead>

-	    <td><b>EL Expression</b></td>

-	    <td><b>Result</b></td>

-	  </thead>

-	  <tr>

-	    <td>\${param["foo"]}</td>

-	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${my:reverse(param["foo"])}</td>

-	    <td>${my:reverse(fn:escapeXml(param["foo"]))}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${my:reverse(my:reverse(param["foo"]))}</td>

-	    <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${my:countVowels(param["foo"])}</td>

-	    <td>${my:countVowels(fn:escapeXml(param["foo"]))}&nbsp;</td>

-	  </tr>

-	</table>

+            <td><b>EL Expression</b></td>

+            <td><b>Result</b></td>

+          </thead>

+          <tr>

+            <td>\${param["foo"]}</td>

+            <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${my:reverse(param["foo"])}</td>

+            <td>${my:reverse(fn:escapeXml(param["foo"]))}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${my:reverse(my:reverse(param["foo"]))}</td>

+            <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${my:countVowels(param["foo"])}</td>

+            <td>${my:countVowels(fn:escapeXml(param["foo"]))}&nbsp;</td>

+          </tr>

+        </table>

       </code>

     </blockquote>

   </body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp.html
index 9ac0c79..ecb761b 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/functions.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 &lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

@@ -27,39 +27,39 @@
     &lt;hr>

     An upgrade from the JSTL expression language, the JSP 2.0 EL also

     allows for simple function invocation.  Functions are defined

-    by tag libraries and are implemented by a Java programmer as 

+    by tag libraries and are implemented by a Java programmer as

     static methods.

 

     &lt;blockquote>

       &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>

       &lt;form action="functions.jsp" method="GET">

-	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

+          foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

           &lt;input type="submit">

       &lt;/form>

       &lt;br>

       &lt;code>

         &lt;table border="1">

           &lt;thead>

-	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>

-	  &lt;/thead>

-	  &lt;tr>

-	    &lt;td>\${param["foo"]}&lt;/td>

-	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${my:reverse(param["foo"])}&lt;/td>

-	    &lt;td>${my:reverse(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${my:reverse(my:reverse(param["foo"]))}&lt;/td>

-	    &lt;td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${my:countVowels(param["foo"])}&lt;/td>

-	    &lt;td>${my:countVowels(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	&lt;/table>

+            &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+            &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+          &lt;/thead>

+          &lt;tr>

+            &lt;td>\${param["foo"]}&lt;/td>

+            &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${my:reverse(param["foo"])}&lt;/td>

+            &lt;td>${my:reverse(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${my:reverse(my:reverse(param["foo"]))}&lt;/td>

+            &lt;td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${my:countVowels(param["foo"])}&lt;/td>

+            &lt;td>${my:countVowels(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+        &lt;/table>

       &lt;/code>

     &lt;/blockquote>

   &lt;/body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp
index 8d6841a..999ad13 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

 <html>

@@ -23,28 +23,28 @@
   <body>

     <h1>JSP 2.0 Expression Language - Implicit Objects</h1>

     <hr>

-    This example illustrates some of the implicit objects available 

-    in the Expression Lanaguage.  The following implicit objects are 

+    This example illustrates some of the implicit objects available

+    in the Expression Language.  The following implicit objects are

     available (not all illustrated here):

     <ul>

       <li>pageContext - the PageContext object</li>

-      <li>pageScope - a Map that maps page-scoped attribute names to 

+      <li>pageScope - a Map that maps page-scoped attribute names to

           their values</li>

-      <li>requestScope - a Map that maps request-scoped attribute names 

+      <li>requestScope - a Map that maps request-scoped attribute names

           to their values</li>

-      <li>sessionScope - a Map that maps session-scoped attribute names 

+      <li>sessionScope - a Map that maps session-scoped attribute names

           to their values</li>

-      <li>applicationScope - a Map that maps application-scoped attribute 

+      <li>applicationScope - a Map that maps application-scoped attribute

           names to their values</li>

-      <li>param - a Map that maps parameter names to a single String 

+      <li>param - a Map that maps parameter names to a single String

           parameter value</li>

-      <li>paramValues - a Map that maps parameter names to a String[] of 

+      <li>paramValues - a Map that maps parameter names to a String[] of

           all values for that parameter</li>

-      <li>header - a Map that maps header names to a single String 

+      <li>header - a Map that maps header names to a single String

           header value</li>

-      <li>headerValues - a Map that maps header names to a String[] of 

+      <li>headerValues - a Map that maps header names to a String[] of

           all values for that header</li>

-      <li>initParam - a Map that maps context initialization parameter 

+      <li>initParam - a Map that maps context initialization parameter

           names to their String parameter value</li>

       <li>cookie - a Map that maps cookie names to a single Cookie object.</li>

     </ul>

@@ -52,37 +52,37 @@
     <blockquote>

       <u><b>Change Parameter</b></u>

       <form action="implicit-objects.jsp" method="GET">

-	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

+          foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

           <input type="submit">

       </form>

       <br>

       <code>

         <table border="1">

           <thead>

-	    <td><b>EL Expression</b></td>

-	    <td><b>Result</b></td>

-	  </thead>

-	  <tr>

-	    <td>\${param.foo}</td>

-	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${param["foo"]}</td>

-	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${header["host"]}</td>

-	    <td>${fn:escapeXml(header["host"])}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${header["accept"]}</td>

-	    <td>${fn:escapeXml(header["accept"])}&nbsp;</td>

-	  </tr>

-	  <tr>

-	    <td>\${header["user-agent"]}</td>

-	    <td>${fn:escapeXml(header["user-agent"])}&nbsp;</td>

-	  </tr>

-	</table>

+            <td><b>EL Expression</b></td>

+            <td><b>Result</b></td>

+          </thead>

+          <tr>

+            <td>\${param.foo}</td>

+            <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${param["foo"]}</td>

+            <td>${fn:escapeXml(param["foo"])}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${header["host"]}</td>

+            <td>${fn:escapeXml(header["host"])}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${header["accept"]}</td>

+            <td>${fn:escapeXml(header["accept"])}&nbsp;</td>

+          </tr>

+          <tr>

+            <td>\${header["user-agent"]}</td>

+            <td>${fn:escapeXml(header["user-agent"])}&nbsp;</td>

+          </tr>

+        </table>

       </code>

     </blockquote>

   </body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html
index a2d9bdc..a036a07 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/el/implicit-objects.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

 &lt;html>

@@ -24,28 +24,28 @@
   &lt;body>

     &lt;h1>JSP 2.0 Expression Language - Implicit Objects&lt;/h1>

     &lt;hr>

-    This example illustrates some of the implicit objects available 

-    in the Expression Lanaguage.  The following implicit objects are 

+    This example illustrates some of the implicit objects available

+    in the Expression Language.  The following implicit objects are

     available (not all illustrated here):

     &lt;ul>

       &lt;li>pageContext - the PageContext object&lt;/li>

-      &lt;li>pageScope - a Map that maps page-scoped attribute names to 

+      &lt;li>pageScope - a Map that maps page-scoped attribute names to

           their values&lt;/li>

-      &lt;li>requestScope - a Map that maps request-scoped attribute names 

+      &lt;li>requestScope - a Map that maps request-scoped attribute names

           to their values&lt;/li>

-      &lt;li>sessionScope - a Map that maps session-scoped attribute names 

+      &lt;li>sessionScope - a Map that maps session-scoped attribute names

           to their values&lt;/li>

-      &lt;li>applicationScope - a Map that maps application-scoped attribute 

+      &lt;li>applicationScope - a Map that maps application-scoped attribute

           names to their values&lt;/li>

-      &lt;li>param - a Map that maps parameter names to a single String 

+      &lt;li>param - a Map that maps parameter names to a single String

           parameter value&lt;/li>

-      &lt;li>paramValues - a Map that maps parameter names to a String[] of 

+      &lt;li>paramValues - a Map that maps parameter names to a String[] of

           all values for that parameter&lt;/li>

-      &lt;li>header - a Map that maps header names to a single String 

+      &lt;li>header - a Map that maps header names to a single String

           header value&lt;/li>

-      &lt;li>headerValues - a Map that maps header names to a String[] of 

+      &lt;li>headerValues - a Map that maps header names to a String[] of

           all values for that header&lt;/li>

-      &lt;li>initParam - a Map that maps context initialization parameter 

+      &lt;li>initParam - a Map that maps context initialization parameter

           names to their String parameter value&lt;/li>

       &lt;li>cookie - a Map that maps cookie names to a single Cookie object.&lt;/li>

     &lt;/ul>

@@ -53,37 +53,37 @@
     &lt;blockquote>

       &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>

       &lt;form action="implicit-objects.jsp" method="GET">

-	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

+          foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">

           &lt;input type="submit">

       &lt;/form>

       &lt;br>

       &lt;code>

         &lt;table border="1">

           &lt;thead>

-	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>

-	  &lt;/thead>

-	  &lt;tr>

-	    &lt;td>\${param.foo}&lt;/td>

-	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${param["foo"]}&lt;/td>

-	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${header["host"]}&lt;/td>

-	    &lt;td>${fn:escapeXml(header["host"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${header["accept"]}&lt;/td>

-	    &lt;td>${fn:escapeXml(header["accept"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	  &lt;tr>

-	    &lt;td>\${header["user-agent"]}&lt;/td>

-	    &lt;td>${fn:escapeXml(header["user-agent"])}&amp;nbsp;&lt;/td>

-	  &lt;/tr>

-	&lt;/table>

+            &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>

+            &lt;td>&lt;b>Result&lt;/b>&lt;/td>

+          &lt;/thead>

+          &lt;tr>

+            &lt;td>\${param.foo}&lt;/td>

+            &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${param["foo"]}&lt;/td>

+            &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${header["host"]}&lt;/td>

+            &lt;td>${fn:escapeXml(header["host"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${header["accept"]}&lt;/td>

+            &lt;td>${fn:escapeXml(header["accept"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+          &lt;tr>

+            &lt;td>\${header["user-agent"]}&lt;/td>

+            &lt;td>${fn:escapeXml(header["user-agent"])}&amp;nbsp;&lt;/td>

+          &lt;/tr>

+        &lt;/table>

       &lt;/code>

     &lt;/blockquote>

   &lt;/body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
index 0b15181..2711b30 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/FooBean.java.html
@@ -21,18 +21,18 @@
 

 public class FooBean {

     private String bar;

-    

+

     public FooBean() {

         bar = "Initial value";

     }

-    

+

     public String getBar() {

         return this.bar;

     }

-    

+

     public void setBar(String bar) {

         this.bar = bar;

     }

-    

+

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
index c409839..6fb9b0d 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/HelloWorldSimpleTag.java.html
@@ -19,16 +19,18 @@
 

 package jsp2.examples.simpletag;

 

+import java.io.IOException;

+

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.tagext.SimpleTagSupport;

-import java.io.IOException;

 

 /**

  * SimpleTag handler that prints "Hello, world!"

  */

 public class HelloWorldSimpleTag extends SimpleTagSupport {

+    @Override

     public void doTag() throws JspException, IOException {

-	getJspContext().getOut().write( "Hello, world!" );

+        getJspContext().getOut().write( "Hello, world!" );

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
index 1b66d06..806cf7b 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/ShuffleSimpleTag.java.html
@@ -19,22 +19,28 @@
 

 package jsp2.examples.simpletag;

 

+import java.io.IOException;

+import java.util.Random;

+

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.tagext.JspFragment;

 import javax.servlet.jsp.tagext.SimpleTagSupport;

-import java.io.IOException;

 

 /**

  * SimpleTag handler that accepts takes three attributes of type

  * JspFragment and invokes then in a random order.

  */

 public class ShuffleSimpleTag extends SimpleTagSupport {

+    // No need for this to use SecureRandom

+    private static Random random = new Random();

+

     private JspFragment fragment1;

     private JspFragment fragment2;

     private JspFragment fragment3;

 

+    @Override

     public void doTag() throws JspException, IOException {

-        switch( (int)(Math.random() * 6) ) {

+        switch(random.nextInt(6)) {

             case 0:

                 fragment1.invoke( null );

                 fragment2.invoke( null );

@@ -71,11 +77,11 @@
     public void setFragment1( JspFragment fragment1 ) {

         this.fragment1 = fragment1;

     }

-    

+

     public void setFragment2( JspFragment fragment2 ) {

         this.fragment2 = fragment2;

     }

-    

+

     public void setFragment3( JspFragment fragment3 ) {

         this.fragment3 = fragment3;

     }

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
index 4453222..2cd454b 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/TileSimpleTag.java.html
@@ -19,9 +19,10 @@
 

 package jsp2.examples.simpletag;

 

+import java.io.IOException;

+

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.tagext.SimpleTagSupport;

-import java.io.IOException;

 

 /**

  * Displays a tile as a single cell in a table.

@@ -30,17 +31,18 @@
     private String color;

     private String label;

 

+    @Override

     public void doTag() throws JspException, IOException {

-	getJspContext().getOut().write( 

-	    "&lt;td width=\"32\" height=\"32\" bgcolor=\"" + this.color + 

-	    "\">&lt;font color=\"#ffffff\">&lt;center>" + this.label + 

+        getJspContext().getOut().write(

+                "&lt;td width=\"32\" height=\"32\" bgcolor=\"" + this.color +

+                "\">&lt;font color=\"#ffffff\">&lt;center>" + this.label +

                 "&lt;/center>&lt;/font>&lt;/td>" );

     }

 

     public void setColor( String color ) {

         this.color = color;

     }

-    

+

     public void setLabel( String label ) {

         this.label = label;

     }

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
index 64b6d6e..02abbd1 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

 <html>

@@ -23,7 +23,7 @@
   <body>

     <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1>

     <hr>

-    <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt; 

+    <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt;

     standard actions can be used to specify the value of any standard

     action or custom action attribute.</p>

     <p>This example uses the &lt;jsp:attribute&gt;

@@ -36,7 +36,7 @@
       Bean created!  Setting foo.bar...<br>

       <jsp:setProperty name="foo" property="bar">

         <jsp:attribute name="value">

-	  <my:helloWorld/>

+          <my:helloWorld/>

         </jsp:attribute>

       </jsp:setProperty>

     </jsp:useBean>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
index eb3a927..088ed20 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/jspattribute.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

 &lt;html>

@@ -24,7 +24,7 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - jsp:attribute and jsp:body&lt;/h1>

     &lt;hr>

-    &lt;p>The new &amp;lt;jsp:attribute&amp;gt; and &amp;lt;jsp:body&amp;gt; 

+    &lt;p>The new &amp;lt;jsp:attribute&amp;gt; and &amp;lt;jsp:body&amp;gt;

     standard actions can be used to specify the value of any standard

     action or custom action attribute.&lt;/p>

     &lt;p>This example uses the &amp;lt;jsp:attribute&amp;gt;

@@ -37,7 +37,7 @@
       Bean created!  Setting foo.bar...&lt;br>

       &lt;jsp:setProperty name="foo" property="bar">

         &lt;jsp:attribute name="value">

-	  &lt;my:helloWorld/>

+          &lt;my:helloWorld/>

         &lt;/jsp:attribute>

       &lt;/jsp:setProperty>

     &lt;/jsp:useBean>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
index 2a318a7..424af35 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

 <html>

@@ -25,10 +25,10 @@
     <hr>

     <p>Try reloading the page a few times.  Both the rows and the columns

     are shuffled and appear different each time.</p>

-    <p>Here's how the code works.  The SimpleTag handler called 

-    &lt;my:shuffle&gt; accepts three attributes.  Each attribute is a 

+    <p>Here's how the code works.  The SimpleTag handler called

+    &lt;my:shuffle&gt; accepts three attributes.  Each attribute is a

     JSP Fragment, meaning it is a fragment of JSP code that can be

-    dynamically executed by the shuffle tag handler on demand.  The 

+    dynamically executed by the shuffle tag handler on demand.  The

     shuffle tag handler executes the three fragments in a random order.

     To shuffle both the rows and the columns, the shuffle tag is used

     with itself as a parameter.</p>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
index 9329285..231eba6 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspattribute/shuffle.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 

 &lt;html>

@@ -26,10 +26,10 @@
     &lt;hr>

     &lt;p>Try reloading the page a few times.  Both the rows and the columns

     are shuffled and appear different each time.&lt;/p>

-    &lt;p>Here's how the code works.  The SimpleTag handler called 

-    &amp;lt;my:shuffle&amp;gt; accepts three attributes.  Each attribute is a 

+    &lt;p>Here's how the code works.  The SimpleTag handler called

+    &amp;lt;my:shuffle&amp;gt; accepts three attributes.  Each attribute is a

     JSP Fragment, meaning it is a fragment of JSP code that can be

-    dynamically executed by the shuffle tag handler on demand.  The 

+    dynamically executed by the shuffle tag handler on demand.  The

     shuffle tag handler executes the three fragments in a random order.

     To shuffle both the rows and the columns, the shuffle tag is used

     with itself as a parameter.&lt;/p>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx
index 8a5b27d..ba53d8d 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx
@@ -17,7 +17,7 @@
 <tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"

                  xmlns:jsp="http://java.sun.com/JSP/Page"

                  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"

-		 xmlns="http://www.w3.org/1999/xhtml">

+                 xmlns="http://www.w3.org/1999/xhtml">

   <jsp:directive.page contentType="text/html" />

   <head>

     <title>JSPX - XHTML Basic Example</title>

@@ -26,7 +26,7 @@
     <h1>JSPX - XHTML Basic Example</h1>

     <hr/>

     This example illustrates how to use JSPX to produce an XHTML basic

-    document suitable for use with mobile phones, televisions, 

+    document suitable for use with mobile phones, televisions,

     PDAs, vending machines, pagers, car navigation systems,

     mobile game machines, digital book readers, smart watches, etc.

     <p/>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx.html
index f177334..2116538 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/basic.jspx.html
@@ -18,7 +18,7 @@
 &lt;tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"

                  xmlns:jsp="http://java.sun.com/JSP/Page"

                  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"

-		 xmlns="http://www.w3.org/1999/xhtml">

+                 xmlns="http://www.w3.org/1999/xhtml">

   &lt;jsp:directive.page contentType="text/html" />

   &lt;head>

     &lt;title>JSPX - XHTML Basic Example&lt;/title>

@@ -27,7 +27,7 @@
     &lt;h1>JSPX - XHTML Basic Example&lt;/h1>

     &lt;hr/>

     This example illustrates how to use JSPX to produce an XHTML basic

-    document suitable for use with mobile phones, televisions, 

+    document suitable for use with mobile phones, televisions,

     PDAs, vending machines, pagers, car navigation systems,

     mobile game machines, digital book readers, smart watches, etc.

     &lt;p/>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/svgexample.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/svgexample.html
index 12bcd82..6ef1b44 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/svgexample.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/svgexample.html
@@ -23,7 +23,7 @@
     <hr>

     This example uses JSP 2.0's new, simplified JSPX syntax to render a

     Scalable Vector Graphics (SVG) document.  When you view the source,

-    notice the lack of a &lt;jsp:root&gt; element!  The text to be rendered 

+    notice the lack of a &lt;jsp:root&gt; element!  The text to be rendered

     can be modified by changing the value of the name parameter.

     <p>

     SVG has many potential uses, such as searchable images, or images

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx
index ad97af2..2ade5d1 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx
@@ -14,7 +14,7 @@
   See the License for the specific language governing permissions and

   limitations under the License.

 -->

-<!-- 

+<!--

   - This example is based off the textRotate.svg example that comes

   - with Apache Batik.  The original example was written by Bill Haneman.

   - This version by Mark Roth.

@@ -38,14 +38,14 @@
         <jsp:text>

           <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]>

         </jsp:text>

-        <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 

-              text-anchor="middle" font-size="40" font-family="Serif" 

+        <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue"

+              text-anchor="middle" font-size="40" font-family="Serif"

               id="words">${name}</text>

       </c:forEach>

       <c:forEach var="i" begin="1" end="24">

         <jsp:text><![CDATA[</g>]]></jsp:text>

       </c:forEach>

-      <text style="font-size:75;font-family:Serif;fill:white" 

+      <text style="font-size:75;font-family:Serif;fill:white"

             text-anchor="middle">${name}</text>

     </g>

   </g>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html
index 5846a19..0313838 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/jspx/textRotate.jspx.html
@@ -15,7 +15,7 @@
   See the License for the specific language governing permissions and

   limitations under the License.

 -->

-&lt;!-- 

+&lt;!--

   - This example is based off the textRotate.svg example that comes

   - with Apache Batik.  The original example was written by Bill Haneman.

   - This version by Mark Roth.

@@ -39,14 +39,14 @@
         &lt;jsp:text>

           &lt;![CDATA[&lt;g opacity="0.95" transform="scale(1.05) rotate(15)">]]>

         &lt;/jsp:text>

-        &lt;text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 

-              text-anchor="middle" font-size="40" font-family="Serif" 

+        &lt;text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue"

+              text-anchor="middle" font-size="40" font-family="Serif"

               id="words">${name}&lt;/text>

       &lt;/c:forEach>

       &lt;c:forEach var="i" begin="1" end="24">

         &lt;jsp:text>&lt;![CDATA[&lt;/g>]]>&lt;/jsp:text>

       &lt;/c:forEach>

-      &lt;text style="font-size:75;font-family:Serif;fill:white" 

+      &lt;text style="font-size:75;font-family:Serif;fill:white"

             text-anchor="middle">${name}&lt;/text>

     &lt;/g>

   &lt;/g>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html
index 4e62250..9b25ba0 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/misc/EchoAttributesTag.java.html
@@ -19,38 +19,41 @@
 

 package jsp2.examples.simpletag;

 

+import java.io.IOException;

+import java.util.ArrayList;

+

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.JspWriter;

-import javax.servlet.jsp.tagext.SimpleTagSupport;

 import javax.servlet.jsp.tagext.DynamicAttributes;

-import java.util.ArrayList;

-import java.io.IOException;

+import javax.servlet.jsp.tagext.SimpleTagSupport;

 

 /**

- * SimpleTag handler that echoes all its attributes 

+ * SimpleTag handler that echoes all its attributes

  */

-public class EchoAttributesTag 

+public class EchoAttributesTag

     extends SimpleTagSupport

     implements DynamicAttributes

 {

-    private ArrayList keys = new ArrayList();

-    private ArrayList values = new ArrayList();

+    private ArrayList&lt;String> keys = new ArrayList&lt;String>();

+    private ArrayList&lt;Object> values = new ArrayList&lt;Object>();

 

+    @Override

     public void doTag() throws JspException, IOException {

-	JspWriter out = getJspContext().getOut();

-	for( int i = 0; i &lt; keys.size(); i++ ) {

-	    String key = (String)keys.get( i );

-	    Object value = values.get( i );

-	    out.println( "&lt;li>" + key + " = " + value + "&lt;/li>" );

+        JspWriter out = getJspContext().getOut();

+        for( int i = 0; i &lt; keys.size(); i++ ) {

+            String key = keys.get( i );

+            Object value = values.get( i );

+            out.println( "&lt;li>" + key + " = " + value + "&lt;/li>" );

         }

     }

 

-    public void setDynamicAttribute( String uri, String localName, 

-	Object value ) 

-	throws JspException

+    @Override

+    public void setDynamicAttribute( String uri, String localName,

+        Object value )

+        throws JspException

     {

-	keys.add( localName );

-	values.add( value );

+        keys.add( localName );

+        values.add( value );

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp
index 7ccf481..51608c7 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,18 +13,18 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

     <h1>JSP 2.0 Examples - JSP Configuration</h1>

     <hr>

-    <p>Using a &lt;jsp-property-group&gt; element in the web.xml 

+    <p>Using a &lt;jsp-property-group&gt; element in the web.xml

     deployment descriptor, this JSP page has been configured in the

     following ways:</p>

     <ul>

       <li>Uses &lt;include-prelude&gt; to include the top banner.</li>

       <li>Uses &lt;include-coda&gt; to include the bottom banner.</li>

-      <li>Uses &lt;scripting-invalid&gt; true to disable 

-	  &lt;% scripting %&gt; elements</li>

+      <li>Uses &lt;scripting-invalid&gt; true to disable

+          &lt;% scripting %&gt; elements</li>

       <li>Uses &lt;el-ignored&gt; true to disable ${EL} elements</li>

       <li>Uses &lt;page-encoding&gt; ISO-8859-1 to set the page encoding (though this is the default anyway)</li>

     </ul>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp.html
index 033f2d2..dbfc450 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/misc/config.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,18 +14,18 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

     &lt;h1>JSP 2.0 Examples - JSP Configuration&lt;/h1>

     &lt;hr>

-    &lt;p>Using a &amp;lt;jsp-property-group&amp;gt; element in the web.xml 

+    &lt;p>Using a &amp;lt;jsp-property-group&amp;gt; element in the web.xml

     deployment descriptor, this JSP page has been configured in the

     following ways:&lt;/p>

     &lt;ul>

       &lt;li>Uses &amp;lt;include-prelude&amp;gt; to include the top banner.&lt;/li>

       &lt;li>Uses &amp;lt;include-coda&amp;gt; to include the bottom banner.&lt;/li>

-      &lt;li>Uses &amp;lt;scripting-invalid&amp;gt; true to disable 

-	  &amp;lt;% scripting %&amp;gt; elements&lt;/li>

+      &lt;li>Uses &amp;lt;scripting-invalid&amp;gt; true to disable

+          &amp;lt;% scripting %&amp;gt; elements&lt;/li>

       &lt;li>Uses &amp;lt;el-ignored&amp;gt; true to disable ${EL} elements&lt;/li>

       &lt;li>Uses &amp;lt;page-encoding&amp;gt; ISO-8859-1 to set the page encoding (though this is the default anyway)&lt;/li>

     &lt;/ul>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp
index 637dea9..b351741 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 <html>

   <head>

@@ -22,7 +22,7 @@
   <body>

     <h1>JSP 2.0 Examples - Dynamic Attributes</h1>

     <hr>

-    <p>This JSP page invokes a custom tag that accepts a dynamic set 

+    <p>This JSP page invokes a custom tag that accepts a dynamic set

     of attributes.  The tag echoes the name and value of all attributes

     passed to it.</p>

     <hr>

@@ -36,9 +36,9 @@
     </ul>

     <h2>Invocation 3 (three attributes)</h2>

     <ul>

-      <my:echoAttributes dogName="Scruffy" 

-	   		 catName="Fluffy" 

-			 blowfishName="Puffy"/>

+      <my:echoAttributes dogName="Scruffy"

+                         catName="Fluffy"

+                         blowfishName="Puffy"/>

     </ul>

   </body>

 </html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html
index ec47c8c..1179f82 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/misc/dynamicattrs.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="my" uri="http://tomcat.apache.org/jsp2-example-taglib"%>

 &lt;html>

   &lt;head>

@@ -23,7 +23,7 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - Dynamic Attributes&lt;/h1>

     &lt;hr>

-    &lt;p>This JSP page invokes a custom tag that accepts a dynamic set 

+    &lt;p>This JSP page invokes a custom tag that accepts a dynamic set

     of attributes.  The tag echoes the name and value of all attributes

     passed to it.&lt;/p>

     &lt;hr>

@@ -37,9 +37,9 @@
     &lt;/ul>

     &lt;h2>Invocation 3 (three attributes)&lt;/h2>

     &lt;ul>

-      &lt;my:echoAttributes dogName="Scruffy" 

-	   		 catName="Fluffy" 

-			 blowfishName="Puffy"/>

+      &lt;my:echoAttributes dogName="Scruffy"

+                         catName="Fluffy"

+                         blowfishName="Puffy"/>

     &lt;/ul>

   &lt;/body>

 &lt;/html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html
index a977a8c..143d754 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/BookBean.java.html
@@ -23,7 +23,7 @@
     private String title;

     private String author;

     private String isbn;

-    

+

     public BookBean( String title, String author, String isbn ) {

         this.title = title;

         this.author = author;

@@ -33,14 +33,14 @@
     public String getTitle() {

         return this.title;

     }

-    

+

     public String getAuthor() {

         return this.author;

     }

-    

+

     public String getIsbn() {

         return this.isbn;

     }

-    

+

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html
index d010f0a..246df1f 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/FindBookSimpleTag.java.html
@@ -21,6 +21,7 @@
 

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.tagext.SimpleTagSupport;

+

 import jsp2.examples.BookBean;

 

 /**

@@ -29,18 +30,19 @@
  */

 public class FindBookSimpleTag extends SimpleTagSupport {

     private String var;

-    

+

     private static final String BOOK_TITLE = "The Lord of the Rings";

     private static final String BOOK_AUTHOR = "J. R. R. Tolkein";

     private static final String BOOK_ISBN = "0618002251";

 

+    @Override

     public void doTag() throws JspException {

         BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN );

         getJspContext().setAttribute( this.var, book );

     }

 

     public void setVar( String var ) {

-	this.var = var;

+        this.var = var;

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/Functions.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/Functions.java.html
index 350fce6..91abc75 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/Functions.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/Functions.java.html
@@ -17,29 +17,31 @@
 */

 package jsp2.examples.el;

 

+import java.util.Locale;

+

 /**

  * Defines the functions for the jsp2 example tag library.

- * 

+ *

  * &lt;p>Each function is defined as a static method.&lt;/p>

  */

 public class Functions {

     public static String reverse( String text ) {

-        return new StringBuffer( text ).reverse().toString();

+        return new StringBuilder( text ).reverse().toString();

     }

 

     public static int numVowels( String text ) {

         String vowels = "aeiouAEIOU";

-	int result = 0;

+        int result = 0;

         for( int i = 0; i &lt; text.length(); i++ ) {

-	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {

-	        result++;

-	    }

-	}

-	return result;

+            if( vowels.indexOf( text.charAt( i ) ) != -1 ) {

+                result++;

+            }

+        }

+        return result;

     }

 

     public static String caps( String text ) {

-        return text.toUpperCase();

+        return text.toUpperCase(Locale.ENGLISH);

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html
index c409839..6fb9b0d 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/HelloWorldSimpleTag.java.html
@@ -19,16 +19,18 @@
 

 package jsp2.examples.simpletag;

 

+import java.io.IOException;

+

 import javax.servlet.jsp.JspException;

 import javax.servlet.jsp.tagext.SimpleTagSupport;

-import java.io.IOException;

 

 /**

  * SimpleTag handler that prints "Hello, world!"

  */

 public class HelloWorldSimpleTag extends SimpleTagSupport {

+    @Override

     public void doTag() throws JspException, IOException {

-	getJspContext().getOut().write( "Hello, world!" );

+        getJspContext().getOut().write( "Hello, world!" );

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html
index 2ad96eb..852ac2a 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/RepeatSimpleTag.java.html
@@ -19,26 +19,28 @@
 

 package jsp2.examples.simpletag;

 

-import javax.servlet.jsp.JspException;

-import javax.servlet.jsp.tagext.SimpleTagSupport;

 import java.io.IOException;

 

+import javax.servlet.jsp.JspException;

+import javax.servlet.jsp.tagext.SimpleTagSupport;

+

 /**

- * SimpleTag handler that accepts a num attribute and 

+ * SimpleTag handler that accepts a num attribute and

  * invokes its body 'num' times.

  */

 public class RepeatSimpleTag extends SimpleTagSupport {

     private int num;

 

+    @Override

     public void doTag() throws JspException, IOException {

         for (int i=0; i&lt;num; i++) {

             getJspContext().setAttribute("count", String.valueOf( i + 1 ) );

-	    getJspBody().invoke(null);

+            getJspBody().invoke(null);

         }

     }

 

     public void setNum(int num) {

-	this.num = num;

+        this.num = num;

     }

 }

 </pre></body></html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp
index 7a9a064..069bd37 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 <html>

   <head>

@@ -22,34 +22,34 @@
   <body>

     <h1>JSP 2.0 Examples - Book SimpleTag Handler</h1>

     <hr>

-    <p>Illustrates a semi-realistic use of SimpleTag and the Expression 

-    Language.  First, a &lt;my:findBook&gt; tag is invoked to populate 

-    the page context with a BookBean.  Then, the books fields are printed 

+    <p>Illustrates a semi-realistic use of SimpleTag and the Expression

+    Language.  First, a &lt;my:findBook&gt; tag is invoked to populate

+    the page context with a BookBean.  Then, the books fields are printed

     in all caps.</p>

     <br>

     <b><u>Result:</u></b><br>

     <my:findBook var="book"/>

     <table border="1">

         <thead>

-	    <td><b>Field</b></td>

-	    <td><b>Value</b></td>

-	    <td><b>Capitalized</b></td>

-	</thead>

-	<tr>

-	    <td>Title</td>

-	    <td>${book.title}</td>

-	    <td>${my:caps(book.title)}</td>

-	</tr>

-	<tr>

-	    <td>Author</td>

-	    <td>${book.author}</td>

-	    <td>${my:caps(book.author)}</td>

-	</tr>

-	<tr>

-	    <td>ISBN</td>

-	    <td>${book.isbn}</td>

-	    <td>${my:caps(book.isbn)}</td>

-	</tr>

+        <td><b>Field</b></td>

+        <td><b>Value</b></td>

+        <td><b>Capitalized</b></td>

+    </thead>

+    <tr>

+        <td>Title</td>

+        <td>${book.title}</td>

+        <td>${my:caps(book.title)}</td>

+    </tr>

+    <tr>

+        <td>Author</td>

+        <td>${book.author}</td>

+        <td>${my:caps(book.author)}</td>

+    </tr>

+    <tr>

+        <td>ISBN</td>

+        <td>${book.isbn}</td>

+        <td>${my:caps(book.isbn)}</td>

+    </tr>

     </table>

   </body>

 </html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp.html
index 7ecfe3b..4d242ab 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/book.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 &lt;html>

   &lt;head>

@@ -23,34 +23,34 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - Book SimpleTag Handler&lt;/h1>

     &lt;hr>

-    &lt;p>Illustrates a semi-realistic use of SimpleTag and the Expression 

-    Language.  First, a &amp;lt;my:findBook&amp;gt; tag is invoked to populate 

-    the page context with a BookBean.  Then, the books fields are printed 

+    &lt;p>Illustrates a semi-realistic use of SimpleTag and the Expression

+    Language.  First, a &amp;lt;my:findBook&amp;gt; tag is invoked to populate

+    the page context with a BookBean.  Then, the books fields are printed

     in all caps.&lt;/p>

     &lt;br>

     &lt;b>&lt;u>Result:&lt;/u>&lt;/b>&lt;br>

     &lt;my:findBook var="book"/>

     &lt;table border="1">

         &lt;thead>

-	    &lt;td>&lt;b>Field&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Value&lt;/b>&lt;/td>

-	    &lt;td>&lt;b>Capitalized&lt;/b>&lt;/td>

-	&lt;/thead>

-	&lt;tr>

-	    &lt;td>Title&lt;/td>

-	    &lt;td>${book.title}&lt;/td>

-	    &lt;td>${my:caps(book.title)}&lt;/td>

-	&lt;/tr>

-	&lt;tr>

-	    &lt;td>Author&lt;/td>

-	    &lt;td>${book.author}&lt;/td>

-	    &lt;td>${my:caps(book.author)}&lt;/td>

-	&lt;/tr>

-	&lt;tr>

-	    &lt;td>ISBN&lt;/td>

-	    &lt;td>${book.isbn}&lt;/td>

-	    &lt;td>${my:caps(book.isbn)}&lt;/td>

-	&lt;/tr>

+        &lt;td>&lt;b>Field&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Value&lt;/b>&lt;/td>

+        &lt;td>&lt;b>Capitalized&lt;/b>&lt;/td>

+    &lt;/thead>

+    &lt;tr>

+        &lt;td>Title&lt;/td>

+        &lt;td>${book.title}&lt;/td>

+        &lt;td>${my:caps(book.title)}&lt;/td>

+    &lt;/tr>

+    &lt;tr>

+        &lt;td>Author&lt;/td>

+        &lt;td>${book.author}&lt;/td>

+        &lt;td>${my:caps(book.author)}&lt;/td>

+    &lt;/tr>

+    &lt;tr>

+        &lt;td>ISBN&lt;/td>

+        &lt;td>${book.isbn}&lt;/td>

+        &lt;td>${my:caps(book.isbn)}&lt;/td>

+    &lt;/tr>

     &lt;/table>

   &lt;/body>

 &lt;/html>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp
index 4222b2e..d5ebf98 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 <html>

   <head>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html
index c363802..e43a05f 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/hello.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 &lt;html>

   &lt;head>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp
index 1f3d008..f66bdde 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 <html>

   <head>

@@ -23,11 +23,11 @@
     <h1>JSP 2.0 Examples - Repeat SimpleTag Handler</h1>

     <hr>

     <p>This tag handler accepts a "num" parameter and repeats the body of the

-    tag "num" times.  It's a simple example, but the implementation of 

-    such a tag in JSP 2.0 is substantially simpler than the equivalent 

+    tag "num" times.  It's a simple example, but the implementation of

+    such a tag in JSP 2.0 is substantially simpler than the equivalent

     JSP 1.2-style classic tag handler.</p>

     <p>The body of the tag is encapsulated in a "JSP Fragment" and passed

-    to the tag handler, which then executes it five times, inside a 

+    to the tag handler, which then executes it five times, inside a

     for loop.  The tag handler passes in the current invocation in a

     scoped variable called count, which can be accessed using the EL.</p>

     <br>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html
index e36b66c..a3bd71e 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/simpletag/repeat.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>

 &lt;html>

   &lt;head>

@@ -24,11 +24,11 @@
     &lt;h1>JSP 2.0 Examples - Repeat SimpleTag Handler&lt;/h1>

     &lt;hr>

     &lt;p>This tag handler accepts a "num" parameter and repeats the body of the

-    tag "num" times.  It's a simple example, but the implementation of 

-    such a tag in JSP 2.0 is substantially simpler than the equivalent 

+    tag "num" times.  It's a simple example, but the implementation of

+    such a tag in JSP 2.0 is substantially simpler than the equivalent

     JSP 1.2-style classic tag handler.&lt;/p>

     &lt;p>The body of the tag is encapsulated in a "JSP Fragment" and passed

-    to the tag handler, which then executes it five times, inside a 

+    to the tag handler, which then executes it five times, inside a

     for loop.  The tag handler passes in the current invocation in a

     scoped variable called count, which can be accessed using the EL.&lt;/p>

     &lt;br>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html
index 6388336..7898fe2 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/displayProducts.tag.html
@@ -25,28 +25,28 @@
 

 &lt;table border="1">

   &lt;tr>

-    &lt;td> 

+    &lt;td>

       &lt;c:set var="name" value="Hand-held Color PDA"/>

       &lt;c:set var="price" value="$298.86"/>

       &lt;jsp:invoke fragment="normalPrice"/>

     &lt;/td>

-    &lt;td> 

+    &lt;td>

       &lt;c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>

       &lt;c:set var="origPrice" value="$2.98"/>

       &lt;c:set var="salePrice" value="$2.32"/>

       &lt;jsp:invoke fragment="onSale"/>

     &lt;/td>

-    &lt;td> 

+    &lt;td>

       &lt;c:set var="name" value="Digital Cellular Phone"/>

       &lt;c:set var="price" value="$68.74"/>

       &lt;jsp:invoke fragment="normalPrice"/>

     &lt;/td>

-    &lt;td> 

+    &lt;td>

       &lt;c:set var="name" value="Baby Grand Piano"/>

       &lt;c:set var="price" value="$10,800.00"/>

       &lt;jsp:invoke fragment="normalPrice"/>

     &lt;/td>

-    &lt;td> 

+    &lt;td>

       &lt;c:set var="name" value="Luxury Car w/ Leather Seats"/>

       &lt;c:set var="origPrice" value="$23,980.00"/>

       &lt;c:set var="salePrice" value="$21,070.00"/>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp
index e93c7c5..a5d9999 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 <html>

   <head>

@@ -22,7 +22,7 @@
   <body>

     <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1>

     <hr>

-    <p>This JSP page invokes a custom tag that simply echos "Hello, World!"  

+    <p>This JSP page invokes a custom tag that simply echos "Hello, World!"

     The custom tag is generated from a tag file in the /WEB-INF/tags

     directory.</p>

     <p>Notice that we did not need to write a TLD for this tag.  We just

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html
index c3b7b4f..4fbd217 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/hello.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 &lt;html>

   &lt;head>

@@ -23,7 +23,7 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - Hello World Using a Tag File&lt;/h1>

     &lt;hr>

-    &lt;p>This JSP page invokes a custom tag that simply echos "Hello, World!"  

+    &lt;p>This JSP page invokes a custom tag that simply echos "Hello, World!"

     The custom tag is generated from a tag file in the /WEB-INF/tags

     directory.&lt;/p>

     &lt;p>Notice that we did not need to write a TLD for this tag.  We just

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp
index 4dfc483..56f73b6 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 <html>

   <head>

@@ -22,8 +22,8 @@
   <body>

     <h1>JSP 2.0 Examples - Panels using Tag Files</h1>

     <hr>

-    <p>This JSP page invokes a custom tag that draws a 

-    panel around the contents of the tag body.  Normally, such a tag 

+    <p>This JSP page invokes a custom tag that draws a

+    panel around the contents of the tag body.  Normally, such a tag

     implementation would require a Java class with many println() statements,

     outputting HTML.  Instead, we can use a .tag file as a template,

     and we don't need to write a single line of Java or even a TLD!</p>

@@ -32,25 +32,25 @@
       <tr valign="top">

         <td>

           <tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">

-	    First panel.<br/>

-	  </tags:panel>

+            First panel.<br/>

+          </tags:panel>

         </td>

         <td>

           <tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">

-	    Second panel.<br/>

-	    Second panel.<br/>

-	    Second panel.<br/>

-	    Second panel.<br/>

-	  </tags:panel>

+            Second panel.<br/>

+            Second panel.<br/>

+            Second panel.<br/>

+            Second panel.<br/>

+          </tags:panel>

         </td>

         <td>

           <tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">

-	    Third panel.<br/>

+            Third panel.<br/>

             <tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">

-	      A panel in a panel.

-	    </tags:panel>

-	    Third panel.<br/>

-	  </tags:panel>

+              A panel in a panel.

+            </tags:panel>

+            Third panel.<br/>

+          </tags:panel>

         </td>

       </tr>

     </table>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html
index 0cc746d..4a8277c 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/panel.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 &lt;html>

   &lt;head>

@@ -23,8 +23,8 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - Panels using Tag Files&lt;/h1>

     &lt;hr>

-    &lt;p>This JSP page invokes a custom tag that draws a 

-    panel around the contents of the tag body.  Normally, such a tag 

+    &lt;p>This JSP page invokes a custom tag that draws a

+    panel around the contents of the tag body.  Normally, such a tag

     implementation would require a Java class with many println() statements,

     outputting HTML.  Instead, we can use a .tag file as a template,

     and we don't need to write a single line of Java or even a TLD!&lt;/p>

@@ -33,25 +33,25 @@
       &lt;tr valign="top">

         &lt;td>

           &lt;tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">

-	    First panel.&lt;br/>

-	  &lt;/tags:panel>

+            First panel.&lt;br/>

+          &lt;/tags:panel>

         &lt;/td>

         &lt;td>

           &lt;tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">

-	    Second panel.&lt;br/>

-	    Second panel.&lt;br/>

-	    Second panel.&lt;br/>

-	    Second panel.&lt;br/>

-	  &lt;/tags:panel>

+            Second panel.&lt;br/>

+            Second panel.&lt;br/>

+            Second panel.&lt;br/>

+            Second panel.&lt;br/>

+          &lt;/tags:panel>

         &lt;/td>

         &lt;td>

           &lt;tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">

-	    Third panel.&lt;br/>

+            Third panel.&lt;br/>

             &lt;tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">

-	      A panel in a panel.

-	    &lt;/tags:panel>

-	    Third panel.&lt;br/>

-	  &lt;/tags:panel>

+              A panel in a panel.

+            &lt;/tags:panel>

+            Third panel.&lt;br/>

+          &lt;/tags:panel>

         &lt;/td>

       &lt;/tr>

     &lt;/table>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp
index 328cc96..23b84f1 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp
@@ -1,4 +1,4 @@
-<!--

+<%--

  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.

@@ -13,7 +13,7 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

--->

+--%>

 <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 <html>

   <head>

@@ -22,7 +22,7 @@
   <body>

     <h1>JSP 2.0 Examples - Display Products Tag File</h1>

     <hr>

-    <p>This JSP page invokes a tag file that displays a listing of 

+    <p>This JSP page invokes a tag file that displays a listing of

     products.  The custom tag accepts two fragments that enable

     customization of appearance.  One for when the product is on sale

     and one for normal price.</p>

@@ -31,23 +31,23 @@
     <h2>Products</h2>

     <tags:displayProducts>

       <jsp:attribute name="normalPrice">

-	Item: ${name}<br/>

-	Price: ${price}

+        Item: ${name}<br/>

+        Price: ${price}

       </jsp:attribute>

       <jsp:attribute name="onSale">

-	Item: ${name}<br/>

-	<font color="red"><strike>Was: ${origPrice}</strike></font><br/>

-	<b>Now: ${salePrice}</b>

+        Item: ${name}<br/>

+        <font color="red"><strike>Was: ${origPrice}</strike></font><br/>

+        <b>Now: ${salePrice}</b>

       </jsp:attribute>

     </tags:displayProducts>

     <hr>

     <h2>Products (Same tag, alternate style)</h2>

     <tags:displayProducts>

       <jsp:attribute name="normalPrice">

-	<b>${name}</b> @ ${price} ea.

+        <b>${name}</b> @ ${price} ea.

       </jsp:attribute>

       <jsp:attribute name="onSale">

-	<b>${name}</b> @ ${salePrice} ea. (was: ${origPrice})

+        <b>${name}</b> @ ${salePrice} ea. (was: ${origPrice})

       </jsp:attribute>

     </tags:displayProducts>

   </body>

diff --git a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html
index f9b6e6f..a081b23 100644
--- a/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html
+++ b/tomcat-uid/webapps/examples/jsp/jsp2/tagfiles/products.jsp.html
@@ -1,5 +1,5 @@
 <html><body><pre>

-&lt;!--

+&lt;%--

  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.

@@ -14,7 +14,7 @@
   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.

--->

+--%>

 &lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

 &lt;html>

   &lt;head>

@@ -23,7 +23,7 @@
   &lt;body>

     &lt;h1>JSP 2.0 Examples - Display Products Tag File&lt;/h1>

     &lt;hr>

-    &lt;p>This JSP page invokes a tag file that displays a listing of 

+    &lt;p>This JSP page invokes a tag file that displays a listing of

     products.  The custom tag accepts two fragments that enable

     customization of appearance.  One for when the product is on sale

     and one for normal price.&lt;/p>

@@ -32,23 +32,23 @@
     &lt;h2>Products&lt;/h2>

     &lt;tags:displayProducts>

       &lt;jsp:attribute name="normalPrice">

-	Item: ${name}&lt;br/>

-	Price: ${price}

+        Item: ${name}&lt;br/>

+        Price: ${price}

       &lt;/jsp:attribute>

       &lt;jsp:attribute name="onSale">

-	Item: ${name}&lt;br/>

-	&lt;font color="red">&lt;strike>Was: ${origPrice}&lt;/strike>&lt;/font>&lt;br/>

-	&lt;b>Now: ${salePrice}&lt;/b>

+        Item: ${name}&lt;br/>

+        &lt;font color="red">&lt;strike>Was: ${origPrice}&lt;/strike>&lt;/font>&lt;br/>

+        &lt;b>Now: ${salePrice}&lt;/b>

       &lt;/jsp:attribute>

     &lt;/tags:displayProducts>

     &lt;hr>

     &lt;h2>Products (Same tag, alternate style)&lt;/h2>

     &lt;tags:displayProducts>

       &lt;jsp:attribute name="normalPrice">

-	&lt;b>${name}&lt;/b> @ ${price} ea.

+        &lt;b>${name}&lt;/b> @ ${price} ea.

       &lt;/jsp:attribute>

       &lt;jsp:attribute name="onSale">

-	&lt;b>${name}&lt;/b> @ ${salePrice} ea. (was: ${origPrice})

+        &lt;b>${name}&lt;/b> @ ${salePrice} ea. (was: ${origPrice})

       &lt;/jsp:attribute>

     &lt;/tags:displayProducts>

   &lt;/body>