You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2015/07/16 22:02:32 UTC

[1/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Repository: struts
Updated Branches:
  refs/heads/master f85c60ea4 -> eb564a25e


http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
index d5433e0..b6bcf3c 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/SimpleActionValidationTest.java
@@ -26,10 +26,6 @@ import java.util.*;
 
 
 /**
- * SimpleActionValidationTest
- * <p/>
- * Created : Jan 20, 2003 11:04:25 PM
- *
  * @author Jason Carreira
  */
 public class SimpleActionValidationTest extends XWorkTestCase {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java b/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
index 46fac30..ee255d4 100644
--- a/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
+++ b/core/src/test/java/org/apache/struts2/components/AnotherActionComponentTest.java
@@ -4,13 +4,6 @@ import org.apache.struts2.views.jsp.AbstractTagTest;
 import org.apache.struts2.TestConfigurationProvider;
 import org.apache.struts2.StrutsException;
 
-/**
- * Describe your class here
- *
- * @author $Author$
- *         <p/>
- *         $Id$
- */
 public class AnotherActionComponentTest extends AbstractTagTest  {
 
     public void testRethrowException() throws Exception {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
index 636d433..108731e 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
@@ -108,7 +108,7 @@ public abstract class AbstractUITagTest extends AbstractTagTest {
     /**
      * Initialize a map of {@link PropertyHolder} for generic tag property testing. Will be used when calling {@link
      * #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag, String, String[])} as properties to
-     * verify.<p/> This implementation defines testdata for all common AbstractUITag properties and may be overridden in
+     * verify.<br> This implementation defines testdata for all common AbstractUITag properties and may be overridden in
      * subclasses.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java
index b3555aa..dce1f4d 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/AnchorTagTest.java
@@ -78,40 +78,40 @@ public class AnchorTagTest extends AbstractUITagTest {
      * - current request url
      * - tag's value attribute
      * - tag's nested param tag
-     * <p/>
+     * <br>
      * id1
      * ===
      * - found in current request url
      * - found in tag's value attribute
      * - found in tag's param tag
      * CONCLUSION: tag's param tag takes precedence (paramId1)
-     * <p/>
+     * <br>
      * id2
      * ===
      * - found in current request url
      * - found in tag's value attribute
      * CONCLUSION: tag's value attribute take precedence (tagId2)
-     * <p/>
+     * <br>
      * urlParam1
      * =========
      * - found in current request url
      * CONCLUSION: param in current request url will be used (urlValue1)
-     * <p/>
+     * <br>
      * urlParam2
      * =========
      * - found in current request url
      * CONCLUSION: param in current request url will be used. (urlValue2)
-     * <p/>
+     * <br>
      * tagId
      * =====
      * - found in tag's value attribute
      * CONCLUSION: param in tag's value attribute wil; be used. (tagValue)
-     * <p/>
+     * <br>
      * param1
      * ======
      * - found in nested param tag
      * CONCLUSION: param in nested param tag will be used. (param1value)
-     * <p/>
+     * <br>
      * param2
      * ======
      * - found in nested param tag
@@ -208,16 +208,20 @@ public class AnchorTagTest extends AbstractUITagTest {
     }
 
     /**
+     * <p>
      * To test priority of parameter passed in to url component though
      * various way, with includeParams="NONE"
-     * - current request url
-     * - tag's value attribute
-     * - tag's nested param tag
-     * <p/>
+     * </p>
+     *
+     * - current request url<br>
+     * - tag's value attribute<br>
+     * - tag's nested param tag<br>
+     *
+     * <p>
      * In this case only parameters from the tag itself is taken into account.
      * Those from request will not count, only those in tag's value attribute
      * and nested param tag.
-     *
+     * </p>
      * @throws Exception
      */
     public void testParametersPriorityWithIncludeParamsAsNONE() throws Exception {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java b/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java
index 91150db..4f40b37 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/StrutsMockJspWriter.java
@@ -28,10 +28,11 @@ import javax.servlet.jsp.JspWriter;
 
 
 /**
- * Unforunately, the MockJspWriter throws a NotImplementedException when any of the Writer methods are invoked and
+ * <p>
+ * Unfortunately, the MockJspWriter throws a NotImplementedException when any of the Writer methods are invoked and
  * as you might guess, Velocity uses the Writer methods.  I'velocityEngine subclassed the MockJspWriter for the time being so
  * that we can do testing on the results until MockJspWriter gets fully implemented.
- * <p/>
+ * </p>
  * todo replace this once MockJspWriter implements Writer correctly (i.e. doesn't throw NotImplementException)
  */
 public class StrutsMockJspWriter extends JspWriter {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
index 3b45fe5..9db9dcd 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxListTest.java
@@ -38,7 +38,7 @@ public class CheckboxListTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java
index d05267b..d6971e8 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/CheckboxTest.java
@@ -39,7 +39,7 @@ public class CheckboxTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java
index 7a54f4a..bd316f6 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/FileTest.java
@@ -57,7 +57,7 @@ public class FileTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
index c9427d1..5e7fe8c 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/FormTagTest.java
@@ -391,11 +391,16 @@ public class FormTagTest extends AbstractUITagTest {
 
 
     /**
-     * Testing that this: <p>
+     * <p>
+     * Testing that this:
+     * </p>
+     * <pre>
      * &lt;a:form name=&quot;'myForm'&quot; namespace=&quot;'/testNamespace'&quot; action=&quot;'testNamespaceAction'&quot; method=&quot;'post'&quot;&gt;
-     * <p/>
+     * </pre>
+     * <p>
      * doesn't create an action of &quot;/testNamespace/testNamespaceAction.action&quot; when the &quot;struts.action.extension&quot;
      * config property is set to &quot;jspa&quot;.
+     * </p>
      */
     public void testFormTagWithDifferentActionExtension() throws Exception {
         initDispatcher(new HashMap<String,String>(){{ 
@@ -419,9 +424,9 @@ public class FormTagTest extends AbstractUITagTest {
     }
 
     /**
-     * Testing that this: <p>
+     * Testing that this: <br>
      * &lt;a:form name=&quot;'myForm'&quot; action=&quot;'/testNamespace/testNamespaceAction.jspa'&quot; method=&quot;'post'&quot;&gt;
-     * <p/>
+     * <br>
      * doesn't create an action of &quot;/testNamespace/testNamespaceAction.action&quot;
      */
     public void testFormTagWithDifferentActionExtensionHardcoded() throws Exception {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java
index 3aca47c..e44ade5 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/HeadTagTest.java
@@ -25,7 +25,7 @@ import org.apache.struts2.views.jsp.AbstractUITagTest;
 
 /**
  * Unit test for {@link HeadTag}.
- * <p/>
+ * <br>
  * Note: If unit test fails with encoding difference check the src/test/struts.properties
  * and adjust the .txt files accordingly
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java
index ea34dcc..926d3a4 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/HiddenTest.java
@@ -68,7 +68,7 @@ public class HiddenTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
index 7ef1155..4b84bec 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/LabelTest.java
@@ -69,7 +69,7 @@ public class LabelTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java
index 64a3b15..913ead8 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/ResetTest.java
@@ -212,7 +212,7 @@ public class ResetTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java
index df0f432..2a33037 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/SubmitTest.java
@@ -238,7 +238,7 @@ public class SubmitTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
index 36d5925..4494bc3 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
@@ -60,7 +60,7 @@ public class TextareaTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
index e1a81c4..d61aae8 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextfieldTest.java
@@ -37,7 +37,7 @@ public class TextfieldTest extends AbstractUITagTest {
     /**
      * Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
      * property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
-     * String, String[])} as properties to verify.<p/> This implementation extends testdata from AbstractUITag.
+     * String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
      *
      * @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
      *         as key.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/resources/XSLTResultTest3.xsl
----------------------------------------------------------------------
diff --git a/core/src/test/resources/XSLTResultTest3.xsl b/core/src/test/resources/XSLTResultTest3.xsl
index 9f8ae5b..05a2cf0 100644
--- a/core/src/test/resources/XSLTResultTest3.xsl
+++ b/core/src/test/resources/XSLTResultTest3.xsl
@@ -29,8 +29,9 @@
         <html>
             <body>
                 Hello <xsl:value-of select="username"/> how are you?
-                <p/>
+                <p>
                 We have the following books:
+                </p>
                 <xsl:for-each select="books/item">
                     <br/><xsl:value-of select="title"/> by <xsl:value-of select="author"/>.
                 </xsl:for-each>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/FieldMatch.java
----------------------------------------------------------------------
diff --git a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/FieldMatch.java b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/FieldMatch.java
index db40c4b..1c765fb 100644
--- a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/FieldMatch.java
+++ b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/FieldMatch.java
@@ -36,14 +36,17 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 /**
  * Validation annotation to validate that two fields are equal.
  * An array of fields and their matching confirmation fields can be supplied.
- * <p/>
+ * <p>
  * Example, compare 1 pair of fields:
+ * </p>
  * <pre>
  *
  * @FieldMatch(first = "password", second = "confirmPassword", message = "The password fields must match")
  * </pre>
- * <p/>
+ *
+ * <p>
  * Example, compare more than 1 pair of fields:
+ * </p>
  * <pre>
  * @FieldMatch.List({
  *      @FieldMatch(first = "password", second = "confirmPassword", message = "The password fields must match"),

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/constant/ValidatorConstants.java
----------------------------------------------------------------------
diff --git a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/constant/ValidatorConstants.java b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/constant/ValidatorConstants.java
index fb4c5cd..e8c5225 100644
--- a/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/constant/ValidatorConstants.java
+++ b/plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/validation/constant/ValidatorConstants.java
@@ -23,7 +23,7 @@ package org.apache.struts.beanvalidation.validation.constant;
 /**
  * <p>Class consisting of various constant values being used within
  * bean validation plugin </p>
- * <p/>
+ *
  * <p>
  * These values can be overridden using struts.xml file by providing custom values.
  * </p>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
----------------------------------------------------------------------
diff --git a/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java b/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
index 0dcdb6b..c2a35cf 100644
--- a/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
+++ b/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
@@ -46,8 +46,9 @@ import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.LogManager;
 
 /**
- * <p/>
- * Use the dwr configuration as follows :-
+ * <p>
+ * Use the dwr configuration as follows:
+ * </p>
  *
  * <pre>
  * <!-- START SNIPPET: dwrConfiguration -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
----------------------------------------------------------------------
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
index bfd32c5..4fbccad 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
@@ -580,7 +580,7 @@ public class PageContextImpl extends PageContext {
 	}
 
 	/**
-	 * Returns the exception associated with this page context, if any. <p/>
+	 * Returns the exception associated with this page context, if any. <br>
 	 * Added wrapping for Throwables to avoid ClassCastException: see Bugzilla
 	 * 31171 for details.
 	 * 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/AbstractGxpResult.java
----------------------------------------------------------------------
diff --git a/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/AbstractGxpResult.java b/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/AbstractGxpResult.java
index 8db9c25..f27afc8 100644
--- a/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/AbstractGxpResult.java
+++ b/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/AbstractGxpResult.java
@@ -29,9 +29,12 @@ import java.io.Writer;
 import java.util.Locale;
 
 /**
+ * <p>
  * The abstract base class for our Struts 2 GXP result type implementation. It
  * outputs GXP, and pulls GXP parameters from Struts 2's value stack. Implementing
  * classes have to:
+ * </p>
+ *
  * <ol>
  * <li>Implement <code>execute(ActionInvocation)</code>, which must instruct the
  * GXP to write itself to the output stream. See {@link GxpResult} for a
@@ -40,10 +43,12 @@ import java.util.Locale;
  * the value 'gxpName'. Struts 2 needs this to set the name of your
  * template into this object.</li>
  * </ol>
- * <p/>
+ *
  * <p>If you want to use instantiated GXPs (using the nested
  * {@code Interface}), you can set the use{@code useInstances} parameter to
  * {@code true}:
+ * </p>
+ *
  * <pre>
  *     &lt;result-types>
  *       &lt;result-type name="gxp" class="org.apache.struts2.views.gxp.GxpResult">
@@ -51,12 +56,15 @@ import java.util.Locale;
  *       &lt;/result-type>
  *     &lt;/result-types>
  * </pre>
+ *
+ * <p>
  * This means that Struts 2 will attempt to instantiate the {@code Interface}
  * using the {@link com.opensymphony.xwork2.ObjectFactory}. If
  * {@link com.google.webwork.GuiceWebWorkIntegrationModule} is installed, or
  * {@link com.google.webwork.ContainerObjectFactory} is set as the static
  * {@code ObjectFactory} instance, then Guice will be used to instantiate the
  * GXP instance; otherwise, only GXPs with no constructor parameters will work.
+ * </p>
  *
  * @author Bob Lee
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpResult.java
----------------------------------------------------------------------
diff --git a/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpResult.java b/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpResult.java
index 517f740..b854ef1 100644
--- a/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpResult.java
+++ b/plugins/gxp/src/main/java/org/apache/struts2/views/gxp/GxpResult.java
@@ -29,19 +29,21 @@ import com.opensymphony.xwork2.inject.Inject;
 import java.io.IOException;
 
 /**
+ * <p>
  * Struts 2 GXP result type implementation. Outputs GXP. Pulls GXP parameters
  * from Struts 2's value stack.
- * <p/>
+ * </p>
+ *
  * <p>Declare the GXP result type for your package in the xwork.xml file:</p>
- * <p/>
+ *
  * <pre>
  *     &lt;result-types>
  *       &lt;result-type name="gxp" class="org.apache.struts2.views.gxp.GxpResult"/>
  *     &lt;/result-types>
  * </pre>
- * <p/>
+ *
  * <p>Or if you want to output XML instead of HTML:</p>
- * <p/>
+ *
  * <pre>
  *     &lt;result-types>
  *       &lt;result-type name="gxp" class="org.apache.struts2.views.gxp.GxpResult">
@@ -49,13 +51,13 @@ import java.io.IOException;
  *       &lt;/result-type>
  *     &lt;/result-types>
  * </pre>
- * <p/>
+ *
  * <p>Outputting XML changes the content type from text/html to application/xml
  * and configures the {@link GxpContext} to output XML. This is useful in
  * situations like specifying the doctype of your GXP to be 'mobile'.</p>
- * <p/>
+ *
  * <p>Use the GXP result type for the result of an action. For example:</p>
- * <p/>
+ *
  * <pre>
  *   &lt;result name="success" type="gxp">/myPackage/MyGxp.gxp&lt;/result>
  * </pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
----------------------------------------------------------------------
diff --git a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
index a8492af..e356506 100644
--- a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
+++ b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
@@ -50,18 +50,18 @@ import java.util.TimeZone;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * Generates a JasperReports report using the specified format or PDF if no
  * format is specified.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p />
+ * <p>
  * <b>This result type takes the following parameters:</b>
- * <p/>
+ * </p>
  * <!-- START SNIPPET: params -->
- * <p/>
+ *
  * <ul>
- * <p/>
+ *
  * <li><b>location (default)</b> - the location where the compiled jasper report
  * definition is (foo.jasper), relative from current URL.</li>
  * <li><b>dataSource (required)</b> - the EL expression used to retrieve the
@@ -105,21 +105,27 @@ import java.util.TimeZone;
  * is not set to false.
  * </p>
  * <!-- END SNIPPET: params -->
- * <b>Example:</b>
- * <pre><!-- START SNIPPET: example1 -->
+ * <p><b>Example:</b></p>
+ * <pre>
+ * <!-- START SNIPPET: example1 -->
  * &lt;result name="success" type="jasper"&gt;
  *   &lt;param name="location"&gt;foo.jasper&lt;/param&gt;
  *   &lt;param name="dataSource"&gt;mySource&lt;/param&gt;
  *   &lt;param name="format"&gt;CSV&lt;/param&gt;
  * &lt;/result&gt;
- * <!-- END SNIPPET: example1 --></pre>
+ * <!-- END SNIPPET: example1 -->
+ * </pre>
+ *
  * or for pdf
- * <pre><!-- START SNIPPET: example2 -->
+ *
+ * <pre>
+ * <!-- START SNIPPET: example2 -->
  * &lt;result name="success" type="jasper"&gt;
  *   &lt;param name="location"&gt;foo.jasper&lt;/param&gt;
  *   &lt;param name="dataSource"&gt;mySource&lt;/param&gt;
  * &lt;/result&gt;
- * <!-- END SNIPPET: example2 --></pre>
+ * <!-- END SNIPPET: example2 -->
+ * </pre>
  */
 public class JasperReportsResult extends StrutsResultSupport implements JasperReportConstants {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
----------------------------------------------------------------------
diff --git a/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java b/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
index 4a1886e..63f965b 100644
--- a/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
+++ b/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
@@ -35,33 +35,34 @@ import javax.servlet.http.HttpServletResponse;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * A custom Result type for chart data. Built on top of
  * <a href="http://www.jfree.org/jfreechart/" target="_blank">JFreeChart</a>. When executed
  * this Result will write the given chart as a PNG or JPG to the servlet output stream.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>This result type takes the following parameters:</b>
- * <p/>
+ * </p>
  * <!-- START SNIPPET: params -->
- * <p/>
+ *
  * <ul>
- * <p/>
+ *
  * <li><b>value</b> - the name of the JFreeChart object on the ValueStack, defaults to 'chart'.</li>
- * <p/>
+ *
  * <li><b>type</b> - the render type for this chart. Can be jpg (or jpeg) or png. Defaults to png.</li>
- * <p/>
+ *
  * <li><b>width (required)</b> - the width (in pixels) of the rendered chart.</li>
- * <p/>
+ *
  * <li><b>height (required)</b> - the height (in pixels) of the rendered chart.</li>
- * <p/>
+ *
  * </ul>
  * <!-- END SNIPPET: params -->
- * <p/>
+ * <p>
  * <b>Example:</b>
- * <p/>
- * <pre><!-- START SNIPPET: example -->
+ * </p>
+ * <pre>
+ * <!-- START SNIPPET: example -->
  * public class ExampleChartAction extends ActionSupport {
  *
  *	    private JFreeChart chart;
@@ -99,7 +100,8 @@ import javax.servlet.http.HttpServletResponse;
  *   &lt;param name="width"&gt;640&lt;/param&gt;
  *   &lt;param name="height"&gt;480&lt;/param&gt;
  * &lt;/result&gt;
- * <!-- END SNIPPET: example --></pre>
+ * <!-- END SNIPPET: example -->
+ * </pre>
  */
 public class ChartResult extends StrutsResultSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
index c0ae8a6..d03be45 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
@@ -45,18 +45,23 @@ import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.WildcardUtil;
 
 /**
- * <!-- START SNIPPET: description --> <p/> This result serializes an action
- * into JSON. <p/> <!-- END SNIPPET: description --> <p/> <p/> <u>Result
- * parameters:</u> <p/> <!-- START SNIPPET: parameters --> <p/>
+ * <!-- START SNIPPET: description -->
+ * <p>
+ * This result serializes an action into JSON.
+ * </p>
+ * <!-- END SNIPPET: description -->
+ * <p><u>Result parameters:</u></p>
+ * <!-- START SNIPPET: parameters -->
  * <ul>
- * <p/>
+ *
  * <li>excludeProperties - list of regular expressions matching the properties
  * to be excluded. The regular expressions are evaluated against the OGNL
  * expression representation of the properties. </li>
- * <p/>
+ *
  * </ul>
- * <p/> <!-- END SNIPPET: parameters --> <p/> <b>Example:</b> <p/>
- * <p/>
+ * <!-- END SNIPPET: parameters -->
+ * <p><b>Example:</b></p>
+ *
  * <pre>
  * &lt;!-- START SNIPPET: example --&gt;
  * &lt;result name=&quot;success&quot; type=&quot;json&quot; /&gt;
@@ -236,7 +241,7 @@ public class JSONResult implements Result {
     }
 
     /**
-     * Retrieve the encoding <p/>
+     * Retrieve the encoding
      *
      * @return The encoding associated with this template (defaults to the value
      *         of param 'encoding', if empty default to 'struts.i18n.encoding' property)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
index 5c2e9fc..fc2b25b 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
@@ -420,10 +420,10 @@ public class JSONUtil {
 
     /**
      * Visit all the interfaces realized by the specified object, its
-     * superclasses and its interfaces <p/> Visitation is performed in the
+     * superclasses and its interfaces <br> Visitation is performed in the
      * following order: aClass aClass' interfaces the interface's superclasses
      * (interfaces) aClass' superclass superclass' interfaces superclass'
-     * interface's superclasses (interfaces) super-superclass and so on <p/> The
+     * interface's superclasses (interfaces) super-superclass and so on <br> The
      * Object base class is base excluded. Classes/interfaces are only visited
      * once each
      *
@@ -443,7 +443,7 @@ public class JSONUtil {
     /**
      * Recursive method to visit all the interfaces of a class (and its
      * superclasses and super-interfaces) if they haven't already been visited.
-     * <p/> Always visits itself if it hasn't already been visited
+     * <br> Always visits itself if it hasn't already been visited
      *
      * @param thisClass
      *            the current class to visit (if not already done so)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/json/src/test/java/org/apache/struts2/json/JSONEnumTest.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/test/java/org/apache/struts2/json/JSONEnumTest.java b/plugins/json/src/test/java/org/apache/struts2/json/JSONEnumTest.java
index b8b0954..0db7010 100644
--- a/plugins/json/src/test/java/org/apache/struts2/json/JSONEnumTest.java
+++ b/plugins/json/src/test/java/org/apache/struts2/json/JSONEnumTest.java
@@ -71,7 +71,7 @@ public class JSONEnumTest extends TestCase {
     }
 
     /**
-     * Asserts that a bean can be serialized to JSON and restored as a map <p/>
+     * Asserts that a bean can be serialized to JSON and restored as a map <br>
      * In this case, the name of the enum is in _name and the two properties of
      * AnEnumBean are also serialized
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiHostFactory.java
----------------------------------------------------------------------
diff --git a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiHostFactory.java b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiHostFactory.java
index a658892..9679744 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiHostFactory.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiHostFactory.java
@@ -25,12 +25,17 @@ import org.apache.struts2.osgi.host.GlassfishOSGiHost;
 import org.apache.struts2.osgi.host.OsgiHost;
 
 /**
+ * <p>
  * OsgiHostFactory that creates proper OsgiHost implementation according to
  * context param from web.xml
- * <p/>
+ * </p>
+ *
+ * <p>
  * Two implementations are supported right now:
- * - Apache Felix
- * - Glassfish (which contains Apache Felix already)
+ * </p>
+ *
+ * - Apache Felix <br>
+ * - Glassfish (which contains Apache Felix already)<br>
  */
 public class OsgiHostFactory {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationManager.java
----------------------------------------------------------------------
diff --git a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationManager.java b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationManager.java
index ef8722b..9472285 100644
--- a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationManager.java
+++ b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationManager.java
@@ -10,12 +10,12 @@ public interface OValValidationManager {
     /**
      * <p>This method 'collects' all the validator configurations for a given
      * action invocation.</p>
-     * <p/>
+     *
      * <p>It will traverse up the class hierarchy looking for validators for every super class
      * and directly implemented interface of the current action, as well as adding validators for
      * any alias of this invocation. Nifty!</p>
-     * <p/>
-     * <p>Given the following class structure:
+     *
+     * <p>Given the following class structure: </p>
      * <pre>
      *   interface Thing;
      *   interface Animal extends Thing;
@@ -23,9 +23,9 @@ public interface OValValidationManager {
      *   class AnimalImpl implements Animal;
      *   class QuadrapedImpl extends AnimalImpl implements Quadraped;
      *   class Dog extends QuadrapedImpl;
-     * </pre></p>
-     * <p/>
-     * <p>This method will look for the following config files for Dog:
+     * </pre>
+     *
+     * <p>This method will look for the following config files for Dog:</p>
      * <pre>
      *   Animal
      *   Animal-context
@@ -37,8 +37,8 @@ public interface OValValidationManager {
      *   QuadrapedImpl-context
      *   Dog
      *   Dog-context
-     * </pre></p>
-     * <p/>
+     * </pre>
+     *
      * <p>Note that the validation rules for Thing is never looked for because no class in the
      * hierarchy directly implements Thing.</p>
      *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
----------------------------------------------------------------------
diff --git a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
index 9f9b4b8..c18277c 100644
--- a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
+++ b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
@@ -138,9 +138,10 @@ public class PellMultiPartRequest implements MultiPartRequest {
     /**
      * Sets the encoding for the uploaded params.  This needs to be set if you are using character sets other than
      * ASCII.
-     * <p/>
+     * <p>
      * The encoding is looked up from the configuration setting 'struts.i18n.encoding'.  This is usually set in
      * default.properties & struts.properties.
+     * </p>
      */
     private void setEncoding() {
         String encoding = null;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
----------------------------------------------------------------------
diff --git a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
index 5033b99..506850f 100644
--- a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
+++ b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
@@ -41,11 +41,13 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
- * Plexus integartion. You need three optional files: plexus-request.xml, plexus-session.xml, and
+ * <p>
+ * Plexus integration. You need three optional files: plexus-request.xml, plexus-session.xml, and
  * plexus-application.xml.
- * <p/>
+ * </p>
+ * <p>
  * The syntax of these files is:
- * <p/>
+ * </p>
  * <pre>
  * &lt;plexus&gt;
  * &lt;components&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java
----------------------------------------------------------------------
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java
index b323d06..a0dcb27 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DirectRenderFromEventAction.java
@@ -28,6 +28,7 @@ import java.io.Serializable;
 import java.util.Map;
 
 /**
+ * <p>
  * When a portlet is targetted for an <code>event</code>, the portlet will receive two
  * portlet requests, one for the <code>event</code> phase, and then followed by a <code>render</code>
  * operation. When in the <code>event</code> phase, the action that is executed can't render
@@ -35,11 +36,14 @@ import java.util.Map;
  * phase, and the action is set up with a result that should render something, the result can't
  * immediately be executed. The portlet needs to "wait" to the render phase to do the
  * rendering.
- * <p/>
+ * </p>
+ *
+ * <p>
  * When the {@link org.apache.struts2.portlet.result.PortletResult} detects such a
  * scenario, instead of executing the actual view, it prepares a couple of render parameters
  * specifying this action and the location of the view, which then will be executed in the
  * following render request.
+ * </p>
  */
 public class DirectRenderFromEventAction implements SessionAware, Action, Serializable {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
----------------------------------------------------------------------
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
index ccfec82..b49cfc4 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
@@ -55,8 +55,8 @@ import java.io.Writer;
  * execution environment and then displays a Velocity template that will be
  * streamed directly to the servlet output.
  *
- * <!-- END SNIPPET: description --> <p/><b>This result type takes the
- * following parameters: </b>
+ * <!-- END SNIPPET: description -->
+ * <p><b>This result type takes the following parameters: </b></p>
  *
  * <!-- START SNIPPET: params -->
  *
@@ -75,7 +75,7 @@ import java.io.Writer;
  *
  * <!-- END SNIPPET: params -->
  *
- * <b>Example: </b>
+ * <p><b>Example: </b></p>
  *
  * <pre>
  * &lt;!-- START SNIPPET: example --&gt;
@@ -200,7 +200,7 @@ public class PortletVelocityResult extends StrutsResultSupport {
     }
 
     /**
-     * Retrieve the content type for this template. <p/>People can override
+     * Retrieve the content type for this template. <br>People can override
      * this method if they want to provide specific content types for specific
      * templates (eg text/xml).
      *
@@ -212,7 +212,7 @@ public class PortletVelocityResult extends StrutsResultSupport {
     }
 
     /**
-     * Retrieve the encoding for this template. <p/>People can override this
+     * Retrieve the encoding for this template. <br>People can override this
      * method if they want to provide specific encodings for specific templates.
      *
      * @return The encoding associated with this template (defaults to the value

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/portlet/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java
----------------------------------------------------------------------
diff --git a/plugins/portlet/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java b/plugins/portlet/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java
index 036bd14..adda4bc 100644
--- a/plugins/portlet/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java
+++ b/plugins/portlet/src/main/java/org/apache/struts2/views/freemarker/PortletFreemarkerResult.java
@@ -93,12 +93,14 @@ public class PortletFreemarkerResult extends StrutsResultSupport {
     }
 
     /**
+     * <p>
      * Execute this result, using the specified template location. <p/>The
-     * template location has already been interoplated for any variable
-     * substitutions <p/>this method obtains the freemarker configuration and
+     * template location has already been interpolated for any variable
+     * substitutions <br>this method obtains the freemarker configuration and
      * the object wrapper from the provided hooks. It them implements the
      * template processing workflow by calling the hooks for preTemplateProcess
      * and postTemplateProcess
+     * </p>
      */
     public void doExecute(String location, ActionInvocation invocation)
             throws IOException, TemplateException, PortletException {
@@ -186,7 +188,7 @@ public class PortletFreemarkerResult extends StrutsResultSupport {
      * to obtain the FreeMarker configuration object that this result will use
      * for template loading. This is a hook that allows you to custom-configure
      * the configuration object in a subclass, or to fetch it from an IoC
-     * container. <p/><b>The default implementation obtains the configuration
+     * container. <br><b>The default implementation obtains the configuration
      * from the ConfigurationManager instance. </b>
      */
     protected Configuration getConfiguration() throws TemplateException {
@@ -197,7 +199,7 @@ public class PortletFreemarkerResult extends StrutsResultSupport {
      * This method is called from {@link #doExecute(String, ActionInvocation)}
      * to obtain the FreeMarker object wrapper object that this result will use
      * for adapting objects into template models. This is a hook that allows you
-     * to custom-configure the wrapper object in a subclass. <p/><b>The default
+     * to custom-configure the wrapper object in a subclass. <br><b>The default
      * implementation returns {@link Configuration#getObjectWrapper()}</b>
      */
     protected ObjectWrapper getObjectWrapper() {
@@ -212,8 +214,12 @@ public class PortletFreemarkerResult extends StrutsResultSupport {
     }
 
     /**
+     * <p>
      * Build the instance of the ScopesHashModel, including JspTagLib support
-     * <p/>Objects added to the model are <p/>
+     * </p>
+     *
+     * <p>Objects added to the model are:</p>
+     *
      * <ul>
      * <li>Application - servlet context attributes hash model
      * <li>JspTaglibs - jsp tag lib factory model

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java b/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
index 4cadd82..0b2ac07 100644
--- a/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
+++ b/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
@@ -39,29 +39,32 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * An interceptor that makes sure there are not validation errors before allowing the interceptor chain to continue.
  * <b>This interceptor does not perform any validation</b>.
- * 
+ * </p>
+ *
  * <p>Copied from the {@link com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor}, this interceptor adds support for error handling of Restful
  * operations.  For example, if an validation error is discovered, a map of errors is created and processed to be
  * returned, using the appropriate content handler for rendering the body.</p>
  *
- * <p/>This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b>
+ * <p>This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b>
  * parameter. <b>excludeMethods</b> accepts a comma-delimited list of method names. For example, requests to
  * <b>foo!input.action</b> and <b>foo!back.action</b> will be skipped by this interceptor if you set the
  * <b>excludeMethods</b> parameter to "input, back".
+ * </p>
  *
+ * <p>
  * <b>Note:</b> As this method extends off MethodFilterInterceptor, it is capable of
  * deciding if it is applicable only to selective methods in the action class. This is done by adding param tags
  * for the interceptor element, naming either a list of excluded method names and/or a list of included method
  * names, whereby includeMethods overrides excludedMethods. A single * sign is interpreted as wildcard matching
  * all methods for both parameters.
  * See {@link MethodFilterInterceptor} for more info.
- *
+ * </p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -74,17 +77,15 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * There are no known extension points for this interceptor.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java
----------------------------------------------------------------------
diff --git a/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java b/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java
index d7c9331..ced4511 100644
--- a/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java
+++ b/plugins/sitegraph/src/main/java/org/apache/struts2/Main.java
@@ -33,14 +33,15 @@ import java.util.List;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Struts comes with various related tools included in the struts-core-VERSION.jar file. You can access these
  * tools by simply unpacking the Struts distribution and running <b>java -jar struts-core-VERSION.jar</b>.
  * Struts will automatically include all jars in the same directory as the struts-core-VERSION.jar file as well as all
  * jars in the <i>lib</i> directory. This means you can invoke these tools either from within the standard directory
  * structure found in the Struts distribution, or from within your WEB-INF/lib directory.
+ * </p>
  *
- * <p/> You can access the help information for these tools by simply running the jar without any arguments.
+ * <p>You can access the help information for these tools by simply running the jar without any arguments.</p>
  *
  * <!-- END SNIPPET: javadoc -->
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
----------------------------------------------------------------------
diff --git a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
index 00cb7e2..f806ee2 100644
--- a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
+++ b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
@@ -30,17 +30,21 @@ import java.io.*;
 
 /**
  * <!-- START SNIPPET: javadocs-intro -->
+ * <p>
  * SiteGraph is a tool that renders out GraphViz-generated images depicting your
  * Struts-powered web application's flow. SiteGraph requires GraphViz be installed
  * and that the "dot" executable be in your command path. You can find GraphViz
  * at http://www.graphviz.org.
+ * </p>
  * <!-- END SNIPPET: javadocs-intro -->
- * <p/>
+ *
  * <!-- START SNIPPET: javadocs-api -->
+ * <p>
  * If you wish to use SiteGraph through its API rather than through the command line,
  * you can do that as well. All you need to do is create a new SiteGraph instance,
  * optionally specify a {@link Writer} to output the dot content to, and then call
  * {@link #prepare()}.
+ * </p>
  * <!-- END SNIPPET: javadocs-api -->
  */
 public class SiteGraph {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
----------------------------------------------------------------------
diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
index b2d9ef5..e6fa51b 100644
--- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
+++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
@@ -47,7 +47,7 @@ import java.util.Locale;
 
 /**
  * <p>This is a SiteMesh FreeMarker view servlet.</p>
- * <p/>
+ *
  * <p>It overrides the SiteMesh servlet to rely on the
  * Freemarker Manager in Struts instead of creating it's
  * own manager</p>
@@ -228,9 +228,14 @@ public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.Freemarke
 
 
     /**
+     * <p>
      * Create the instance of the freemarker Configuration object.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * this implementation
+     * </p>
+     *
      * <ul>
      * <li>obtains the default configuration from Configuration.getDefaultConfiguration()
      * <li>sets up template loading from a ClassTemplateLoader and a WebappTemplateLoader
@@ -243,14 +248,17 @@ public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.Freemarke
     }
 
     /**
+     * <p>
      * Called before the execution is passed to template.process().
      * This is a generic hook you might use in subclasses to perform a specific
      * action before the template is processed. By default does nothing.
      * A typical action to perform here is to inject application-specific
      * objects into the model root
-     * <p/>
+     * </p>
+     *
      * <p>Example: Expose the Serlvet context path as "baseDir" for all templates:
-     * <p/>
+     * </p>
+     *
      * <pre>
      *    ((SimpleHash) data).put("baseDir", request.getContextPath() + "/");
      *    return true;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityDecoratorServlet.java
----------------------------------------------------------------------
diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityDecoratorServlet.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityDecoratorServlet.java
index 416dfd5..bcbfb72 100644
--- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityDecoratorServlet.java
+++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/VelocityDecoratorServlet.java
@@ -46,7 +46,7 @@ import java.io.StringWriter;
 
 /**
  * <p>This is a SiteMesh Velocity view servlet.</p>
- * <p/>
+ *
  * <p>It overrides the SiteMesh servlet to rely on the
  * Velocity Manager in Struts instead of creating it's
  * own manager</p>
@@ -59,14 +59,14 @@ public class VelocityDecoratorServlet extends VelocityViewServlet {
     /**
      * <p>Initializes servlet, toolbox and Velocity template engine.
      * Called by the servlet container on loading.</p>
-     * <p/>
+     *
      * <p>NOTE: If no charset is specified in the default.contentType
      * property (in your velocity.properties) and you have specified
      * an output.encoding property, then that will be used as the
      * charset for the default content-type of pages served by this
      * servlet.</p>
      *
-     * @param config servlet configuation
+     * @param config servlet configuration
      */
     public void init(ServletConfig config) throws ServletException {
         super.init(config);
@@ -160,15 +160,17 @@ public class VelocityDecoratorServlet extends VelocityViewServlet {
     }
 
     /**
+     * <p>
      * Sets the content type of the response.  This is available to be overridden
      * by a derived class.
-     * <p/>
-     * <p>The default implementation is :
+     * </p>
+     * <p>The default implementation is:</p>
      * <pre>
-     * <p/>
+     *
      *    response.setContentType(defaultContentType);
-     * <p/>
+     *
      * </pre>
+     * <p>
      * where defaultContentType is set to the value of the default.contentType
      * property, or "text/html" if that is not set.</p>
      *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
----------------------------------------------------------------------
diff --git a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
index 7f7f985..251548d 100644
--- a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
+++ b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
@@ -38,11 +38,14 @@ import javax.servlet.ServletContext;
 
 
 /**
+ * <p>
  * Struts object factory that integrates with Spring.
- * <p/>
+ * </p>
+ *
+ * <p>
  * Spring should be loaded using a web context listener
  * <code>org.springframework.web.context.ContextLoaderListener</code> defined in <code>web.xml</code>.
- *
+ * </p>
  */
 public class StrutsSpringObjectFactory extends SpringObjectFactory {
     private static final Logger LOG = LogManager.getLogger(StrutsSpringObjectFactory.class);

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
----------------------------------------------------------------------
diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
index 0e2f865..d9319a4 100644
--- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
+++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
@@ -36,15 +36,17 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
 /**
+ * <p>
  * Default implementation of TilesUtil.
  * This class contains default implementation of utilities. This implementation
  * is intended to be used without Struts.
- * <p/>
+ * </p>
+ *
+ * <p>
  * TilesUtilImpl implementation used to intercept .ftl requests and
  * ensure that they are setup properly to take advantage of the
  * {@link FreemarkerResult}.
- *
- * @version $Id$
+ * </p>
  */
 public class StrutsTilesRequestContext extends TilesRequestContextWrapper {
 


[4/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
index 7fb7ae2..deeaa1c 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/UtilTimerStack.java
@@ -31,81 +31,86 @@ import org.apache.logging.log4j.Logger;
 
 
 /**
- * A timer stack.
- * <p/>
- * <p/>
- * <p/>
+ * <p>A timer stack.</p>
  * <!-- START SNIPPET: profilingAspect_struts2 -->
- * <p/>
- * Struts2 profiling aspects involves the following :-
- * <ul>
- * <li>ActionContextCleanUp</li>
- * <li>FreemarkerPageFilter</li>
- * <li>DispatcherFilter</li>
- * <ul>
- * <li>Dispatcher</li>
- * <ul>
- * <li>creation of DefaultActionProxy</li>
- * <ul>
- * <li>creation of DefaultActionInvocation</li>
- * <ul>
- * <li>creation of Action</li>
- * </ul>
- * </ul>
- * <li>execution of DefaultActionProxy</li>
- * <ul>
- * <li>invocation of DefaultActionInvocation</li>
+ * <p>
+ * Struts2 profiling aspects involves the following:
+ * </p>
+ *
  * <ul>
- * <li>invocation of Interceptors</li>
- * <li>invocation of Action</li>
- * <li>invocation of PreResultListener</li>
- * <li>invocation of Result</li>
- * </ul>
- * </ul>
- * </ul>
+ *  <li>ActionContextCleanUp</li>
+ *  <li>FreemarkerPageFilter</li>
+ *  <li>DispatcherFilter
+ *      <ul>
+ *          <li>Dispatcher
+ *              <ul>
+ *                  <li>creation of DefaultActionProxy
+ *                      <ul>
+ *                          <li>creation of DefaultActionInvocation
+ *                              <ul>
+ *                                  <li>creation of Action</li>
+ *                              </ul>
+ *                          </li>
+ *                      </ul>
+ *                  </li>
+ *                  <li>execution of DefaultActionProxy
+ *                      <ul>
+ *                          <li>invocation of DefaultActionInvocation
+ *                              <ul>
+ *                                  <li>invocation of Interceptors</li>
+ *                                  <li>invocation of Action</li>
+ *                                  <li>invocation of PreResultListener</li>
+ *                                  <li>invocation of Result</li>
+ *                              </ul>
+ *                          </li>
+ *                      </ul>
+ *                  </li>
+ *              </ul>
+ *          </li>
+ *      </ul>
+ *  </li>
  * </ul>
- * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: profilingAspect_struts2 -->
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: profilingAspect_xwork -->
- * <p/>
- * XWork2 profiling aspects involves the following :-
- * <ul>
- * <ul>
- * <li>creation of DefaultActionProxy</li>
- * <ul>
- * <li>creation of DefaultActionInvocation</li>
- * <ul>
- * <li>creation of Action</li>
- * </ul>
- * </ul>
- * <li>execution of DefaultActionProxy</li>
- * <ul>
- * <li>invocation of DefaultActionInvocation</li>
+ * <p>
+ * XWork2 profiling aspects involves the following:
+ * </p>
+ *
  * <ul>
- * <li>invocation of Interceptors</li>
- * <li>invocation of Action</li>
- * <li>invocation of PreResultListener</li>
- * <li>invocation of Result</li>
- * </ul>
- * </ul>
+ *  <li>creation of DefaultActionProxy
+ *      <ul>
+ *          <li>creation of DefaultActionInvocation</li>
+ *      <ul>
+ *  </li>
+ *  <li>creation of Action</li>
+ *  <li>execution of DefaultActionProxy</li>
+ *      <ul>
+ *          <li>invocation of DefaultActionInvocation
+ *              <ul>
+ *                  <li>invocation of Interceptors</li>
+ *                  <li>invocation of Action</li>
+ *                  <li>invocation of PreResultListener</li>
+ *                  <li>invocation of Result</li>
+ *              </ul>
+ *          </li>
+ *      </ul>
  * </ul>
- * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: profilingAspect_xwork -->
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: activationDescription -->
- * <p/>
- * Activating / Deactivating of the profiling feature could be done through:-
- * <p/>
+ * <p>
+ * Activating / Deactivating of the profiling feature could be done through:
+ * </p>
  * <!-- END SNIPPET: activationDescription -->
- * <p/>
- * <p/>
- * <p/>
- * System properties:- <p/>
+ *
+ *
+ *
+ * <p>System properties:</p>
  * <pre>
  * <!-- START SNIPPET: activationThroughSystemProperty -->
  *
@@ -113,16 +118,16 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: activationThroughSystemProperty -->
  * </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: activationThroughSystemPropertyDescription -->
- * <p/>
+ * <p>
  * This could be done in the container startup script eg. CATALINA_OPTS in catalina.sh
- * (tomcat) or using "java -Dxwork.profile.activate=true -jar start.jar" (jetty)
- * <p/>
+ * (tomcat) or using 'java -Dxwork.profile.activate=true -jar start.jar' (jetty)
+ * </p>
  * <!-- END SNIPPET: activationThroughSystemPropertyDescription -->
- * <p/>
- * <p/>
- * Code :- <p/>
+ *
+ *
+ * <p>Code :</p>
  * <pre>
  * <!-- START SNIPPET: activationThroughCode -->
  *
@@ -130,27 +135,25 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: activationThroughCode -->
  * </pre>
- * <p/>
- * <p/>
- * <p/>
  * <!-- START SNIPPET: activationThroughCodeDescription -->
- * <p/>
- * This could be done in a static block, in a Spring bean with lazy-init="false",
+ * <p>
+ * This could be done in a static block, in a Spring bean with lazy-init='false',
  * in a Servlet with init-on-startup as some numeric value, in a Filter or
  * Listener's init method etc.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: activationThroughCodeDescription -->
- * <p/>
- * <p/>
- * Parameter:-
- * <p/>
+ *
+ * <p>
+ * Parameter:
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: activationThroughParameter -->
  *
  * &lt;action ... &gt;
  *  ...
- *  &lt;interceptor-ref name="profiling"&gt;
- *      &lt;param name="profilingKey"&gt;profiling&lt;/param&gt;
+ *  &lt;interceptor-ref name=&quot;profiling&quot;&gt;
+ *      &lt;param name=&quot;profilingKey&quot;&gt;profiling&lt;/param&gt;
  *  &lt;/interceptor-ref&gt;
  *  ...
  * &lt;/action&gt;
@@ -159,7 +162,7 @@ import org.apache.logging.log4j.Logger;
  *
  * &lt;action .... &gt;
  * ...
- *  &lt;interceptor-ref name="profiling" /&gt;
+ *  &lt;interceptor-ref name=&quot;profiling&quot; /&gt;
  * ...
  * &lt;/action&gt;
  *
@@ -169,44 +172,44 @@ import org.apache.logging.log4j.Logger;
  *
  * through code
  *
- * ActionContext.getContext().getParameters().put("profiling", "true);
+ * ActionContext.getContext().getParameters().put(&quot;profiling&quot;, &quot;true);
  *
  * <!-- END SNIPPET: activationThroughParameter -->
  * </pre>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: activationThroughParameterDescription -->
- * <p/>
+ * <p>
  * To use profiling activation through parameter, one will need to pass in through
  * the 'profiling' parameter (which is the default) and could be changed through
  * the param tag in the interceptor-ref.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: activationThroughParameterDescription -->
- * <p/>
- * <p/>
- * Warning:<p/>
+ *
+ * <p>Warning:</p>
+ *
  * <!-- START SNIPPET: activationThroughParameterWarning -->
- * <p/>
+ * <p>
  * Profiling activation through a parameter requires the following:
- * <p/>
+ * </p>
+ *
  * <ul>
  * <li>Profiling interceptor in interceptor stack</li>
  * <li>dev mode on (struts.devMode=true in struts.properties)
  * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: activationThroughParameterWarning -->
- * <p/>
- * <p/>
- * <p/>
+ *
  * <!-- START SNIPPET: filteringDescription -->
- * <p/>
+ * <p>
  * One could filter out the profile logging by having a System property as follows. With this
  * 'xwork.profile.mintime' property, one could only log profile information when its execution time
  * exceed those specified in 'xwork.profile.mintime' system property. If no such property is specified,
  * it will be assumed to be 0, hence all profile information will be logged.
- * <p/>
+ * </p>
+ *
  * <!-- END SNIPPET: filteringDescription -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: filteringCode -->
  *
@@ -214,17 +217,17 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: filteringCode -->
  * </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: methodDescription -->
- * <p/>
+ * <p>
  * One could extend the profiling feature provided by Struts2 in their web application as well.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: methodDescription -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: method1 -->
  *
- *    String logMessage = "Log message";
+ *    String logMessage = &quot;Log message&quot;;
  *    UtilTimerStack.push(logMessage);
  *    try {
  *        // do some code
@@ -235,34 +238,33 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: method1 -->
  * </pre>
- * <p/>
+ * <p>
  * or
- * <p/>
+ * </p>
  * <pre>
  * <!-- START SNIPPET: method2 -->
  *
- *   String result = UtilTimerStack.profile("purchaseItem: ",
+ *   String result = UtilTimerStack.profile(&quot;purchaseItem: &quot;,
  *       new UtilTimerStack.ProfilingBlock<String>() {
  *            public String doProfiling() {
  *               // do some code
- *               return "Ok";
+ *               return &quot;Ok&quot;;
  *            }
  *       });
  *
  * <!-- END SNIPPET: method2 -->
  * </pre>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: profileLogFile -->
- * <p/>
+ * <p>
  * Profiled result is logged using commons-logging under the logger named
  * 'com.opensymphony.xwork2.util.profiling.UtilTimerStack'. Depending on the underlying logging implementation
  * say if it is Log4j, one could direct the log to appear in a different file, being emailed to someone or have
  * it stored in the db.
- * <p/>
- * <!-- END SNIPPET: profileLogFile -->
+ * </p>
  *
- * @version $Date$ $Id$
+ * <!-- END SNIPPET: profileLogFile -->
  */
 public class UtilTimerStack {
 
@@ -270,8 +272,8 @@ public class UtilTimerStack {
     protected static ThreadLocal<ProfilingTimerBean> current = new ThreadLocal<>();
 
     /**
-     * System property that controls whether this timer should be used or not.  Set to "true" activates
-     * the timer.  Set to "false" to disactivate.
+     * System property that controls whether this timer should be used or not.  Set to &quot;true&quot; activates
+     * the timer.  Set to &quot;false&quot; to deactivate.
      */
     public static final String ACTIVATE_PROPERTY = "xwork.profile.activate";
 
@@ -400,13 +402,16 @@ public class UtilTimerStack {
 
 
     /**
+     * <p>
      * A convenience method that allows <code>block</code> of code subjected to profiling to be executed
      * and avoid the need of coding boiler code that does pushing (UtilTimeBean.push(...)) and
      * poping (UtilTimerBean.pop(...)) in a try ... finally ... block.
-     * <p/>
-     * <p/>
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example of usage:
+     * </p>
+     *
      * <pre>
      * 	 // we need a returning result
      *   String result = UtilTimerStack.profile("purchaseItem: ",
@@ -417,7 +422,9 @@ public class UtilTimerStack {
      *            }
      *       });
      * </pre>
+     *
      * or
+     *
      * <pre>
      *   // we don't need a returning result
      *   UtilTimerStack.profile("purchaseItem: ",

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
index 9de464b..8caa039 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionContextState.java
@@ -87,15 +87,18 @@ public class ReflectionContextState {
 		context.put(XWorkConverter.LAST_BEAN_CLASS_ACCESSED, clazz);
 	}
 	/**
+	 * <p>
 	 * Gets the current property path but not completely.
 	 * It does not use the [ and ] used in some representations
 	 * of Maps and Lists. The reason for this is that the current
 	 * property path is only currently used for caching purposes
 	 * so there is no real reason to have an exact replica.
-     *
-	 * <p/>So if the real path is myProp.myMap['myKey'] this would
+     * </p>
+	 *
+	 * <p>So if the real path is myProp.myMap['myKey'] this would
 	 * return myProp.myMap.myKey.
-     * 
+     * </p>
+	 *
 	 * @param context
 	 */
 	public static String getCurrentPropertyPath(Map<String, Object> context) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
index e98f8ee..2bfac35 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java
@@ -268,12 +268,12 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager
     /**
      * <p>This method 'collects' all the validator configurations for a given
      * action invocation.</p>
-     * <p/>
+     *
      * <p>It will traverse up the class hierarchy looking for validators for every super class
      * and directly implemented interface of the current action, as well as adding validators for
      * any alias of this invocation. Nifty!</p>
-     * <p/>
-     * <p>Given the following class structure:
+     *
+     * <p>Given the following class structure:</p>
      * <pre>
      *   interface Thing;
      *   interface Animal extends Thing;
@@ -281,9 +281,9 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager
      *   class AnimalImpl implements Animal;
      *   class QuadrapedImpl extends AnimalImpl implements Quadraped;
      *   class Dog extends QuadrapedImpl;
-     * </pre></p>
-     * <p/>
-     * <p>This method will look for the following config files for Dog:
+     * </pre>
+     *
+     * <p>This method will look for the following config files for Dog:</p>
      * <pre>
      *   Animal
      *   Animal-context
@@ -295,8 +295,8 @@ public class AnnotationActionValidatorManager implements ActionValidatorManager
      *   QuadrapedImpl-context
      *   Dog
      *   Dog-context
-     * </pre></p>
-     * <p/>
+     * </pre>
+     *
      * <p>Note that the validation rules for Thing is never looked for because no class in the
      * hierarchy directly implements Thing.</p>
      *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java
index d9d7401..d16afcd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java
@@ -32,12 +32,16 @@ import java.util.*;
 
 
 /**
+ * <p>
  * This is the entry point into XWork's rule-based validation framework.
- * <p/>
+ * </p>
+ *
+ * <p>
  * Validation rules are specified in XML configuration files named <code>className-contextName-validation.xml</code> where
  * className is the name of the class the configuration is for and -contextName is optional
  * (contextName is an arbitrary key that is used to look up additional validation rules for a
  * specific context).
+ * </p>
  *
  * @author Jason Carreira
  * @author Mark Woon
@@ -127,10 +131,10 @@ public class DefaultActionValidatorManager implements ActionValidatorManager {
         Set<String> shortcircuitedFields = null;
 
         for (final Validator validator : validators) {
-        try {
+            try {
                 validator.setValidatorContext(validatorContext);
 
-            LOG.debug("Running validator: {} for object {} and method {}", validator, object, method);
+                LOG.debug("Running validator: {} for object {} and method {}", validator, object, method);
 
                 FieldValidator fValidator = null;
                 String fullFieldName = null;
@@ -234,7 +238,7 @@ public class DefaultActionValidatorManager implements ActionValidatorManager {
      * and directly implemented interface of the current action, as well as adding validators for
      * any alias of this invocation. Nifty!</p>
      *
-     * <p>Given the following class structure:
+     * <p>Given the following class structure:</p>
      * <pre>
      *   interface Thing;
      *   interface Animal extends Thing;
@@ -242,9 +246,9 @@ public class DefaultActionValidatorManager implements ActionValidatorManager {
      *   class AnimalImpl implements Animal;
      *   class QuadrapedImpl extends AnimalImpl implements Quadraped;
      *   class Dog extends QuadrapedImpl;
-     * </pre></p>
+     * </pre>
      *
-     * <p>This method will look for the following config files for Dog:
+     * <p>This method will look for the following config files for Dog:</p>
      * <pre>
      *   Animal
      *   Animal-context
@@ -256,7 +260,7 @@ public class DefaultActionValidatorManager implements ActionValidatorManager {
      *   QuadrapedImpl-context
      *   Dog
      *   Dog-context
-     * </pre></p>
+     * </pre>
      *
      * <p>Note that the validation rules for Thing is never looked for because no class in the
      * hierarchy directly implements Thing.</p>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
index 5b2a65c..a7811e0 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/ValidationInterceptor.java
@@ -28,31 +28,35 @@ import org.apache.logging.log4j.Logger;
 /**
  * <!-- START SNIPPET: description -->
  *
+ * <p>
  * This interceptor runs the action through the standard validation framework, which in turn checks the action against
  * any validation rules (found in files such as <i>ActionClass-validation.xml</i>) and adds field-level and action-level
  * error messages (provided that the action implements {@link ValidationAware}). This interceptor
  * is often one of the last (or second to last) interceptors applied in a stack, as it assumes that all values have
  * already been set on the action.
+ * </p>
  *
- * <p/>This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b>
+ * <p>
+ * This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b>
  * parameter. <b>excludeMethods</b> accepts a comma-delimited list of method names. For example, requests to
  * <b>foo!input.action</b> and <b>foo!back.action</b> will be skipped by this interceptor if you set the
  * <b>excludeMethods</b> parameter to "input, back".
- * 
- * </ol>
- * 
- * <p/> The workflow of the action request does not change due to this interceptor. Rather,
- * this interceptor is often used in conjuction with the <b>workflow</b> interceptor.
+ * </p>
  *
- * <p/>
- * 
+ * <p>
+ * The workflow of the action request does not change due to this interceptor. Rather,
+ * this interceptor is often used in conjunction with the <b>workflow</b> interceptor.
+ * </p>
+ *
+ * <p>
  * <b>NOTE:</b> As this method extends off MethodFilterInterceptor, it is capable of
  * deciding if it is applicable only to selective methods in the action class. See
  * <code>MethodFilterInterceptor</code> for more info.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -71,9 +75,7 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -81,38 +83,38 @@ import org.apache.logging.log4j.Logger;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
  * 
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="params"/&gt;
- *     &lt;interceptor-ref name="validation"/&gt;
- *     &lt;interceptor-ref name="workflow"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;validation&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;workflow&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  * 
  * &lt;-- in the following case myMethod of the action class will not
  *        get validated --&gt;
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="params"/&gt;
- *     &lt;interceptor-ref name="validation"&gt;
- *         &lt;param name="excludeMethods"&gt;myMethod&lt;/param&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;validation&quot;&gt;
+ *         &lt;param name=&quot;excludeMethods&quot;&gt;myMethod&lt;/param&gt;
  *     &lt;/interceptor-ref&gt;
- *     &lt;interceptor-ref name="workflow"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ *     &lt;interceptor-ref name=&quot;workflow&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  * 
  * &lt;-- in the following case only annotated methods of the action class will
  *        be validated --&gt;
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="params"/&gt;
- *     &lt;interceptor-ref name="validation"&gt;
- *         &lt;param name="validateAnnotatedMethodOnly"&gt;true&lt;/param&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;validation&quot;&gt;
+ *         &lt;param name=&quot;validateAnnotatedMethodOnly&quot;&gt;true&lt;/param&gt;
  *     &lt;/interceptor-ref&gt;
- *     &lt;interceptor-ref name="workflow"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ *     &lt;interceptor-ref name=&quot;workflow&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  *
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
index 1fcab44..5cff3f8 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/Validator.java
@@ -22,43 +22,41 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <!-- START SNIPPET: validatorFlavours -->
  * <p>The validators supplied by the XWork distribution (and any validators you
  * might write yourself) come in two different flavors:</p>
- * <p/>
+ *
  * <ol>
  * <li> Plain Validators / Non-Field validators </li>
  * <li> FieldValidators </li>
  * </ol>
- * <p/>
+ *
  * <p>Plain Validators (such as the ExpressionValidator) perform validation checks
  * that are not inherently tied to a single specified field. When you declare a
  * plain Validator in your -validation.xml file you do not associate a fieldname
  * attribute with it. (You should avoid using plain Validators within the
  * <field-validator> syntax described below.)</p>
- * <p/>
+ *
  * <p>FieldValidators (such as the EmailValidator) are designed to perform
  * validation checks on a single field. They require that you specify a fieldname
  * attribute in your -validation.xml file. There are two different (but equivalent)
  * XML syntaxes you can use to declare FieldValidators (see "<validator> vs.
- * <field-Validator> syntax" below).</p>
- * <p/>
+ * <field-Validator> syntax&quot; below).</p>
+ *
  * <p>There are two places where the differences between the two validator flavors
  * are important to keep in mind:</p>
- * <p/>
+ *
  * <ol>
  * <li> when choosing the xml syntax used for declaring a validator
  * (either <validator> or <field-validator>)</li>
  * <li> when using the short-circuit capability</li>
  * </ol>
- * <p/>
- * <p><b>NOTE:</b>Note that you do not declare what "flavor" of validator you are
+ *
+ * <p><b>NOTE:</b>Note that you do not declare what &quot;flavor&quot; of validator you are
  * using in your -validation.xml file, you just declare the name of the validator
- * to use and Struts will know whether it's a "plain Validator" or a "FieldValidator"
+ * to use and Struts will know whether it's a &quot;plain Validator&quot; or a &quot;FieldValidator&quot;
  * by looking at the validation class that the validator's programmer chose
  * to implement.</p>
  * <!-- END SNIPPET: validatorFlavours -->
- * <p/>
- * <p/>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: validationRules -->
  * <p>To define validation rules for an Action, create a file named ActionName-validation.xml
  * in the same package as the Action. You may also create alias-specific validation rules which
@@ -66,12 +64,12 @@ import com.opensymphony.xwork2.util.ValueStack;
  * another file in the same directory named ActionName-aliasName-validation.xml. In both
  * cases, ActionName is the name of the Action class, and aliasName is the name of the
  * Action alias defined in the xwork.xml configuration for the Action.</p>
- * <p/>
+ *
  * <p>The framework will also search up the inheritance tree of the Action to
  * find validation rules for directly implemented interfaces and parent classes of the Action.
  * This is particularly powerful when combined with ModelDriven Actions and the VisitorFieldValidator.
  * Here's an example of how validation rules are discovered. Given the following class structure:</p>
- * <p/>
+ *
  * <ul>
  * <li>interface Animal;</li>
  * <li>interface Quadraped extends Animal;</li>
@@ -79,9 +77,9 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <li>class QuadrapedImpl extends AnimalImpl implements Quadraped;</li>
  * <li>class Dog extends QuadrapedImpl;</li>
  * </ul>
- * <p/>
+ *
  * <p>The framework method will look for the following config files if Dog is to be validated:</p>
- * <p/>
+ *
  * <ul>
  * <li>Animal</li>
  * <li>Animal-aliasname</li>
@@ -94,20 +92,20 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <li>Dog</li>
  * <li>Dog-aliasname</li>
  * </ul>
- * <p/>
+ *
  * <p>While this process is similar to what the XW:Localization framework does
  * when finding messages, there are some subtle differences. The most important
  * difference is that validation rules are discovered from the parent downwards.
  * </p>
- * <p/>
+ *
  * <p><b>NOTE:</b>Child's *-validation.xml will add on to parent's *-validation.xml
  * according to the class hierarchy defined above. With this feature, one could have
  * more generic validation rule at the parent and more specific validation rule at
  * the child.</p>
- * <p/>
+ *
  * <!-- END SNIPPET: validationRules -->
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: validatorVsFieldValidators1 -->
  * <p>There are two ways you can define validators in your -validation.xml file:</p>
  * <ol>
@@ -115,35 +113,34 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <li> &lt;field-validator&gt; </li>
  * </ol>
  * <p>Keep the following in mind when using either syntax:</p>
- * <p/>
+ *
  * <p><b>Non-Field-Validator</b>
  * The &lt;validator&gt; element allows you to declare both types of validators
  * (either a plain Validator a field-specific FieldValidator).</p>
  * <!-- END SNIPPET: validatorVsFieldValidators1 -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: nonFieldValidatorUsingValidatorSyntax -->
  *    &lt;!-- Declaring a plain Validator using the &lt;validator&gt; syntax: --&gt;
- * <p/>
- *    &lt;validator type="expression&gt;
- *          &lt;param name="expression">foo gt bar&lt;/param&gt;
+ *
+ *    &lt;validator type=&quot;expression&gt;
+ *          &lt;param name=&quot;expression&quot;>foo gt bar&lt;/param&gt;
  *          &lt;message&gt;foo must be great than bar.&lt;/message&gt;
  *    &lt;/validator&gt;
  * <!-- END SNIPPET: nonFieldValidatorUsingValidatorSyntax -->
  * </pre>
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: fieldValidatorUsingValidatorSyntax -->
  *    &lt;!-- Declaring a field validator using the &lt;validator&gt; syntax; --&gt;
- * <p/>
- *    &lt;validator type="required"&gt;
- *         &lt;param name="fieldName"&gt;bar&lt;/param&gt;
+ *
+ *    &lt;validator type=&quot;required&quot;&gt;
+ *         &lt;param name=&quot;fieldName&quot;&gt;bar&lt;/param&gt;
  *         &lt;message&gt;You must enter a value for bar.&lt;/message&gt;
  *    &lt/validator&gt;
  * <!-- END SNIPPET: fieldValidatorUsingValidatorSyntax -->
  * </pre>
- * <p/>
- * <p/>
+ *
  * <!-- START SNIPPET: validatorVsFieldValidators2 -->
  * <p><b>field-validator</b>
  * The &lt;field-validator&gt; elements are basically the same as the &lt;validator&gt; elements
@@ -153,110 +150,110 @@ import com.opensymphony.xwork2.util.ValueStack;
  * attribute. The reason for this structure is to conveniently group the validators
  * for a particular field under one element, otherwise the fieldName attribute
  * would have to be repeated, over and over, for each individual &lt;validator&gt;.</p>
- * <p/>
+ *
  * <p><b>HINT:</b>
  * It is always better to defined field-validator inside a &lt;field&gt; tag instead of
  * using a &lt;validator&gt; tag and supplying fieldName as its param as the xml code itself
  * is clearer (grouping of field is clearer)</p>
- * <p/>
+ *
  * <p><b>NOTE:</b>
  * Note that you should only use FieldValidators (not plain Validators) within a
  * <field-validator> block. A plain Validator inside a &lt;field&gt; will not be
  * allowed and would generate error when parsing the xml, as it is not allowed in
  * the defined dtd (xwork-validator-1.0.2.dtd)</p>
  * <!-- END SNIPPET: validatorVsFieldValidators2 -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: fieldValidatorUsingFieldValidatorSyntax -->
  * Declaring a FieldValidator using the &lt;field-validator&gt; syntax:
- * <p/>
- * &lt;field name="email_address"&gt;
- *   &lt;field-validator type="required"&gt;
+ *
+ * &lt;field name=&quot;email_address&quot;&gt;
+ *   &lt;field-validator type=&quot;required&quot;&gt;
  *       &lt;message&gt;You cannot leave the email address field empty.&lt;/message&gt;
  *   &lt;/field-validator&gt;
- *   &lt;field-validator type="email"&gt;
+ *   &lt;field-validator type=&quot;email&quot;&gt;
  *       &lt;message&gt;The email address you entered is not valid.&lt;/message&gt;
  *   &lt;/field-validator&gt;
  * &lt;/field&gt;
  * <!-- END SNIPPET: fieldValidatorUsingFieldValidatorSyntax -->
  * </pre>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: validatorVsFieldValidators3 -->
  * <p>The choice is yours. It's perfectly legal to only use <validator> elements
  * without the <field> elements and set the fieldName attribute for each of them.
- * The following are effectively equal:</P>
+ * The following are effectively equal:</p>
  * <!-- END SNIPPET: validatorVsFieldValidators3 -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: similarVaidatorDeclaredInDiffSyntax -->
- * &lt;field name="email_address"&gt;
- *   &lt;field-validator type="required"&gt;
+ * &lt;field name=&quot;email_address&quot;&gt;
+ *   &lt;field-validator type=&quot;required&quot;&gt;
  *       &lt;message&gt;You cannot leave the email address field empty.&lt;/message&gt;
  *   &lt;/field-validator&gt;
- *   &lt;field-validator type="email"&gt;
+ *   &lt;field-validator type=&quot;email&quot;&gt;
  *       &lt;message&gt;The email address you entered is not valid.&lt;/message&gt;
  *   &lt;/field-validator&gt;
  * &lt;/field&gt;
- * <p/>
- * <p/>
- * &lt;validator type="required"&gt;
- *   &lt;param name="fieldName"&gt;email_address&lt;/param&gt;
+ *
+ *
+ * &lt;validator type=&quot;required&quot;&gt;
+ *   &lt;param name=&quot;fieldName&quot;&gt;email_address&lt;/param&gt;
  *   &lt;message&gt;You cannot leave the email address field empty.&lt;/message&gt;
  * &lt;/validator&gt;
- * &lt;validator type="email"&gt;
- *   &lt;param name="fieldName"&gt;email_address&lt;/param&gt;
+ * &lt;validator type=&quot;email&quot;&gt;
+ *   &lt;param name=&quot;fieldName&quot;&gt;email_address&lt;/param&gt;
  *   &lt;message&gt;The email address you entered is not valid.&lt;/message&gt;
  * &lt;/validator&gt;
  * <!-- END SNIPPET: similarVaidatorDeclaredInDiffSyntax -->
  * </pre>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: shortCircuitingValidators1 -->
  * <p>It is possible to short-circuit a stack of validators.
  * Here is another sample config file containing validation rules from the
  * Xwork test cases: Notice that some of the &lt;field-validator&gt; and
  * &lt;validator&gt; elements have the short-circuit attribute set to true.</p>
  * <!-- END SNIPPET : shortCircuitingValidators1 -->
- * <p/>
+ *
  * <pre>
  * &lt;!-- START SNIPPET: exShortCircuitingValidators --&gt;
  * &lt;!DOCTYPE validators PUBLIC
- *         "-//Apache Struts//XWork Validator 1.0.3//EN"
- *  	   "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"&gt;
+ *         &quot;-//Apache Struts//XWork Validator 1.0.3//EN&quot;
+ *  	   &quot;http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd&quot;&gt;
  * &lt;validators&gt;
  *   &lt;!-- Field Validators for email field --&gt;
- *   &lt;field name="email"&gt;
- *       &lt;field-validator type="required" short-circuit="true"&gt;
+ *   &lt;field name=&quot;email&quot;&gt;
+ *       &lt;field-validator type=&quot;required&quot; short-circuit=&quot;true&quot;&gt;
  *           &lt;message&gt;You must enter a value for email.&lt;/message&gt;
  *       &lt;/field-validator&gt;
- *       &lt;field-validator type="email" short-circuit="true"&gt;
+ *       &lt;field-validator type=&quot;email&quot; short-circuit=&quot;true&quot;&gt;
  *           &lt;message&gt;Not a valid e-mail.&lt;/message&gt;
  *       &lt;/field-validator&gt;
  *   &lt;/field&gt;
  *   &lt;!-- Field Validators for email2 field --&gt;
- *   &lt;field name="email2"&gt;
- *      &lt;field-validator type="required"&gt;
+ *   &lt;field name=&quot;email2&quot;&gt;
+ *      &lt;field-validator type=&quot;required&quot;&gt;
  *           &lt;message&gt;You must enter a value for email2.&lt;/message&gt;
  *       &lt;/field-validator&gt;
- *      &lt;field-validator type="email"&gt;
+ *      &lt;field-validator type=&quot;email&quot;&gt;
  *           &lt;message&gt;Not a valid e-mail2.&lt;/message&gt;
  *       &lt;/field-validator&gt;
  *   &lt;/field&gt;
  *   &lt;!-- Plain Validator 1 --&gt;
- *   &lt;validator type="expression"&gt;
- *       &lt;param name="expression"&gt;email.equals(email2)&lt;/param&gt;
+ *   &lt;validator type=&quot;expression&quot;&gt;
+ *       &lt;param name=&quot;expression&quot;&gt;email.equals(email2)&lt;/param&gt;
  *       &lt;message&gt;Email not the same as email2&lt;/message&gt;
  *   &lt;/validator&gt;
  *   &lt;!-- Plain Validator 2 --&gt;
- *   &lt;validator type="expression" short-circuit="true"&gt;
- *       &lt;param name="expression"&gt;email.startsWith('mark')&lt;/param&gt;
+ *   &lt;validator type=&quot;expression&quot; short-circuit=&quot;true&quot;&gt;
+ *       &lt;param name=&quot;expression&quot;&gt;email.startsWith('mark')&lt;/param&gt;
  *       &lt;message&gt;Email does not start with mark&lt;/message&gt;
  *   &lt;/validator&gt;
  * &lt;/validators&gt;
  * &lt;!-- END SNIPPET: exShortCircuitingValidators --&gt;
  * </pre>
- * <p/>
+ *
  * <!-- START SNIPPET:shortCircuitingValidators2  -->
  * <p><b>short-circuiting and Validator flavors</b></p>
  * <p>Plain validator takes precedence over field-validator. They get validated
@@ -265,25 +262,25 @@ import com.opensymphony.xwork2.util.ValueStack;
  * will prevent the evaluation of subsequent validators and an error (action
  * error or field error depending on the type of validator) will be added to
  * the ValidationContext of the object being validated.</p>
- * <p/>
+ *
  * <p>In the example above, the actual execution of validator would be as follows:</p>
- * <p/>
+ *
  * <ol>
  * <li> Plain Validator 1</li>
  * <li> Plain Validator 2</li>
  * <li> Field Validators for email field</li>
  * <li> Field Validators for email2 field</li>
  * </ol>
- * <p/>
+ *
  * <p>Since Plain Validator 2 is short-circuited, if its validation failed,
  * it will causes Field validators for email field and Field validators for email2
  * field to not be validated as well.</p>
- * <p/>
+ *
  * <p><b>Usefull Information:</b>
  * More complicated validation should probably be done in the validate()
  * method on the action itself (assuming the action implements Validatable
  * interface which ActionSupport already does).</p>
- * <p/>
+ *
  * <p>
  * A plain Validator (non FieldValidator) that gets short-circuited will
  * completely break out of the validation stack. No other validators will be
@@ -292,40 +289,39 @@ import com.opensymphony.xwork2.util.ValueStack;
  * get a chance to be evaluated.
  * </p>
  * <!-- END SNIPPET: shortCircuitingValidators2 -->
- * <p/>
- * <p/>
+ *
  * <!-- START SNIPPET: scAndValidatorFlavours1 -->
  * <p><b>Short cuircuiting and validator flavours</b></p>
  * <p>A FieldValidator that gets short-circuited will only prevent other
  * FieldValidators for the same field from being evaluated. Note that this
- * "same field" behavior applies regardless of whether the <validator> or
+ * &quot;same field&quot; behavior applies regardless of whether the <validator> or
  * <field-validator> syntax was used to declare the validation rule.
  * By way of example, given this -validation.xml file:</p>
  * <!-- END SNIPPET: scAndValidatorFlavours1 -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: exScAndValidatorFlavours -->
- * &lt;validator type="required" short-circuit="true"&gt;
- *   &lt;param name="fieldName"&gt;bar&lt;/param&gt;
+ * &lt;validator type=&quot;required&quot; short-circuit=&quot;true&quot;&gt;
+ *   &lt;param name=&quot;fieldName&quot;&gt;bar&lt;/param&gt;
  *   &lt;message&gt;You must enter a value for bar.&lt;/message&gt;
  * &lt;/validator&gt;
- * <p/>
- * &lt;validator type="expression"&gt;
- *   &lt;param name="expression">foo gt bar&lt;/param&gt;
+ *
+ * &lt;validator type=&quot;expression&quot;&gt;
+ *   &lt;param name=&quot;expression&quot;>foo gt bar&lt;/param&gt;
  *   &lt;message&gt;foo must be great than bar.&lt;/message&gt;
  * &lt;/validator&gt;
  * <!-- END SNIPPET: exScAndValidatorFlavours -->
  * </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: scAndValidatorFlavours2 -->
- * <p>both validators will be run, even if the "required" validator short-circuits.
- * "required" validators are FieldValidator's and will not short-circuit the plain
+ * <p>both validators will be run, even if the &quot;required&quot; validator short-circuits.
+ * &quot;required&quot; validators are FieldValidator's and will not short-circuit the plain
  * ExpressionValidator because FieldValidators only short-circuit other checks on
  * that same field. Since the plain Validator is not field specific, it is
  * not short-circuited.</p>
  * <!-- END SNIPPET: scAndValidatorFlavours2 -->
- * <p/>
- * <p/>
+ *
+ *
  * <!-- START SNIPPET: howXworkFindsValidatorForAction -->
  * <p>As mentioned above, the framework will also search up the inheritance tree
  * of the action to find default validations for interfaces and parent classes of
@@ -353,36 +349,36 @@ import com.opensymphony.xwork2.util.ValueStack;
  * </p>
  * <!-- END SNIPPET: howXworkFindsValidatorForAction -->
  *
- * <p/>
+ *
  * <!-- START SNIPPET: i18n -->
  * Validator's validation messages could be internatinalized. For example,
  * <pre>
- *   &lt;field-validator type="required"&gt;
- *      &lt;message key="required.field" /&gt;
+ *   &lt;field-validator type=&quot;required&quot;&gt;
+ *      &lt;message key=&quot;required.field&quot; /&gt;
  *   &lt;/field-validator&gt;
  * </pre>
  * or
  * <pre>
- *   &lt;validator type="expression"&gt;
- *      &lt;param name="expression"&gt;email.startsWith('Mark')&lt;/param&gt;
- *      &lt;message key="email.invalid" /&gt;
+ *   &lt;validator type=&quot;expression&quot;&gt;
+ *      &lt;param name=&quot;expression&quot;&gt;email.startsWith('Mark')&lt;/param&gt;
+ *      &lt;message key=&quot;email.invalid&quot; /&gt;
  *   &lt;/validator&gt;
  * </pre>
  * In the first case, WebWork would look for i18n with key 'required.field' as the validation error message if
  * validation fails, and 'email.invalid' in the second case.
- * <p/>
+ *
  * We could also provide a default message such that if validation failed and the i18n key for the message
  * cannot be found, WebWork would fall back and use the default message. An example would be as follows :-
  * <pre>
- *   &lt;field-validator type="required"&gt;
- *      &lt;message key="required.field"&gt;This field is required.&lt;/message&gt;
+ *   &lt;field-validator type=&quot;required&quot;&gt;
+ *      &lt;message key=&quot;required.field&quot;&gt;This field is required.&lt;/message&gt;
  *   &lt;/field-validator&gt;
  * </pre>
  * or
  * <pre>
- *   &lt;validator type="expression"&gt;
- *      &lt;param name="expression"&gt;email.startsWith('Mark')&lt;/param&gt;
- *      &lt;message key="email.invalid"&gt;Email needs with starts with Mark&lt;/message&gt;
+ *   &lt;validator type=&quot;expression&quot;&gt;
+ *      &lt;param name=&quot;expression&quot;&gt;email.startsWith('Mark')&lt;/param&gt;
+ *      &lt;message key=&quot;email.invalid&quot;&gt;Email needs with starts with Mark&lt;/message&gt;
  *   &lt;/validator&gt;
  * </pre>
  *
@@ -429,16 +425,16 @@ public interface Validator<T> {
     String getMessageKey();
 
     /**
-     * Sets the messsage parameters to be used when parsing i18n messages
+     * Sets the message parameters to be used when parsing i18n messages
      *
-     * @param messageParameters  the messsage parameters
+     * @param messageParameters  the message parameters
      */
     void setMessageParameters(String[] messageParameters);
 
     /**
-     * Gets the messsage parameters to be used when parsing i18n messages
+     * Gets the message parameters to be used when parsing i18n messages
      *
-     * @return the messsage parameters
+     * @return the message parameters
      */
     String[] getMessageParameters();
 
@@ -473,7 +469,7 @@ public interface Validator<T> {
     void setValidatorType(String type);
 
     /**
-     * Gets the vaildator type used (see class javadoc).
+     * Gets the validator type used (see class javadoc).
      *
      * @return the type used
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
index 29607ce..e609250 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConditionalVisitorFieldValidator.java
@@ -7,23 +7,28 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * The validator allows you to forward validator to object properties of your action
  * using the objects own validator files. This allows you to use the ModelDriven development
  * pattern and manage your validations for your models in one place, where they belong, next to
  * your model classes.
+ * </p>
  *
+ * <p>
  * The ConditionalVisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
  * The error message for the ConditionalVisitorFieldValidator will be appended in front of validator messages added
  * by the validations for the Object message.
+ * </p>
+ *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -84,7 +89,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -100,7 +105,7 @@ public @interface ConditionalVisitorFieldValidator {
 
     /**
      * Determines the context to use for validating the Object property.
-     * If not defined, the context of the Action validator is propogated to the Object property validator.
+     * If not defined, the context of the Action validator is propagated to the Object property validator.
      * In the case of Action validator, this context is the Action alias.
      */
     String context() default "";
@@ -108,10 +113,10 @@ public @interface ConditionalVisitorFieldValidator {
     /**
      * Determines whether the field name of this field validator should be prepended to the field name of
      * the visited field to determine the full field name when an error occurs. For example, suppose that
-     * the bean being validated has a "name" property.
+     * the bean being validated has a 'name' property.
      *
-     * If appendPrefix is true, then the field error will be stored under the field "bean.name".
-     * If appendPrefix is false, then the field error will be stored under the field "name".
+     * If appendPrefix is true, then the field error will be stored under the field 'bean.name'.
+     * If appendPrefix is false, then the field error will be stored under the field 'name'.
      *
      * If you are using the ConditionalVisitorFieldValidator to validate the model from a ModelDriven Action,
      * you should set appendPrefix to false unless you are using "model.name" to reference the properties
@@ -148,7 +153,7 @@ public @interface ConditionalVisitorFieldValidator {
     /**
      * If this is activated, the validator will be used as short-circuit.
      *
-     * Adds the short-circuit="true" attribute value if <tt>true</tt>.
+     * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
      */
     boolean shortCircuit() default false;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
index 9a6fc0a..2777f7a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ConversionErrorFieldValidator.java
@@ -24,16 +24,16 @@ import java.lang.annotation.Target;
 /**
  * <!-- START SNIPPET: description -->
  * This validator checks if there are any conversion errors for a field and applies them if they exist.
- * See <a href="http://wiki.opensymphony.com/display/XW/Type+Conversion+Error+Handling">Type Conversion Error Handling</a> for details.
+ * See <a href="https://struts.apache.org/docs/type-conversion.html#TypeConversion-TypeConversionErrorHandling">Type Conversion Error Handling</a> for details.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The ConversionErrorFieldValidator annotation must be applied at method level.
+ * <p>The ConversionErrorFieldValidator annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -82,7 +82,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -91,7 +91,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
index 27d63b2..e0305fd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/CustomValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This annotation can be used for custom validators. Use the ValidationParameter annotation to supply additional params.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method or type level.
+ * <p>The annotation must be applied at method or type level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -81,7 +81,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -91,7 +91,6 @@ import java.lang.annotation.Target;
  *
  * @author jepjep
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD, ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
index d6457d5..47900c9 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DateRangeFieldValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This validator checks that a date field has a value within a specified range.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -119,7 +119,7 @@ import java.lang.annotation.Target;
  * <p>If neither <em>min</em> nor <em>max</em> is set, nothing will be done.</p>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -128,7 +128,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java
index 5eb3049..1a5fb3b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/DoubleRangeFieldValidator.java
@@ -27,13 +27,13 @@ import java.lang.annotation.Target;
  * If neither min nor max is set, nothing will be done.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -134,7 +134,7 @@ import java.lang.annotation.Target;
  * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -143,7 +143,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java
index 7b40811..ec54c05 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/EmailValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This validator checks that a field is a valid e-mail address if it contains a non-empty String.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -81,7 +81,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -90,7 +90,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
@@ -120,7 +119,7 @@ public @interface EmailValidator {
     /**
      * If this is activated, the validator will be used as short-circuit.
      *
-     * Adds the short-circuit="true" attribute value if <tt>true</tt>.
+     * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
      */
     boolean shortCircuit() default false;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java
index 8049388..7943750 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ExpressionValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This non-field level validator validates a supplied regular expression.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -75,7 +75,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -84,7 +84,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java
index 5941b04..83859d4 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/FieldExpressionValidator.java
@@ -28,13 +28,13 @@ import java.lang.annotation.Target;
  * false when it is evaluated against the value stack.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -83,7 +83,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -92,7 +92,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
@@ -127,7 +126,7 @@ public @interface FieldExpressionValidator {
     /**
      * If this is activated, the validator will be used as short-circuit.
      *
-     * Adds the short-circuit="true" attribute value if <tt>true</tt>.
+     * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
      */
     boolean shortCircuit() default false;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java
index cba539e..daa29c5 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/IntRangeFieldValidator.java
@@ -27,13 +27,13 @@ import java.lang.annotation.Target;
  * If neither min nor max is set, nothing will be done.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -116,7 +116,7 @@ import java.lang.annotation.Target;
  * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -128,7 +128,6 @@ import java.lang.annotation.Target;
  *
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
@@ -178,7 +177,7 @@ public @interface IntRangeFieldValidator {
     /**
      * If this is activated, the validator will be used as short-circuit.
      *
-     * Adds the short-circuit="true" attribute value if <tt>true</tt>.
+     * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
      */
     boolean shortCircuit() default false;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java
index 3997916..0ef3b18 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RegexFieldValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * Validates a string field using a regular expression.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -87,7 +87,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -96,7 +96,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author <a href="mailto:hermanns@aixcept.de">Rainer Hermanns</a>
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
@@ -169,7 +168,7 @@ public @interface RegexFieldValidator {
     /**
      * If this is activated, the validator will be used as short-circuit.
      *
-     * Adds the short-circuit="true" attribute value if <tt>true</tt>.
+     * Adds the short-circuit='true' attribute value if <tt>true</tt>.
      *
      */
     boolean shortCircuit() default false;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java
index 3039d3c..c2456e7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredFieldValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This validator checks that a field is non-null.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -81,7 +81,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -91,7 +91,6 @@ import java.lang.annotation.Target;
  *
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java
index 7fe64ad..0620ba9 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/RequiredStringValidator.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * This validator checks that a String field is not empty (i.e. non-null with a length > 0).
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -87,7 +87,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java
index dfe57ae..8f93196 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ShortRangeFieldValidator.java
@@ -27,13 +27,13 @@ import java.lang.annotation.Target;
  * If neither min nor max is set, nothing will be done.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -116,7 +116,7 @@ import java.lang.annotation.Target;
  * <p>The values for min and max must be inserted as String values so that "0" can be handled as a possible value.</p>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java
index 6db6175..87d4b31 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/StringLengthFieldValidator.java
@@ -27,13 +27,13 @@ import java.lang.annotation.Target;
  * If neither minLength nor maxLength is set, nothing will be done.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -115,7 +115,7 @@ import java.lang.annotation.Target;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -124,7 +124,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java
index 2769b12..5688e1f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validation.java
@@ -27,13 +27,13 @@ import java.lang.annotation.Target;
  * is no longer necessary.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- *  <p/>The Validation annotation must be applied at Type level.
+ * <p>The Validation annotation must be applied at Type level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -52,7 +52,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <u>An Annotated Interface</u>
  * <pre>
@@ -73,7 +73,7 @@ import java.lang.annotation.Target;
  * <!-- END SNIPPET: example -->
  * </pre>
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <u>An Annotated Class</u>
  * <pre>
@@ -124,7 +124,6 @@ import java.lang.annotation.Target;
  *
  * @author Rainer Hermanns
  * @deprecated Since Struts 2.1 because it isn't necessary anymore
- * @version $Id$
  */
 @Target({ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java
index 1482aed..81390cc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/ValidationParameter.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * The ValidationParameter annotation is used as a parameter for CustomValidators.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must embedded into CustomValidator annotations as a parameter.
+ * <p>The annotation must embedded into CustomValidator annotations as a parameter.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -57,7 +57,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java
index 5d1eceb..ee587ad 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/Validations.java
@@ -26,13 +26,13 @@ import java.lang.annotation.Target;
  * <p>If you want to use several annotations of the same type, these annotations must be nested within the @Validations() annotation.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>Used at METHOD level.
+ * <p>Used at METHOD level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -112,7 +112,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -149,7 +149,6 @@ import java.lang.annotation.Target;
  *
  * @author jepjep
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target( { ElementType.METHOD, ElementType.TYPE })
 @Retention(RetentionPolicy.RUNTIME)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java
index 7d42339..6501748 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/annotations/VisitorFieldValidator.java
@@ -33,13 +33,13 @@ import java.lang.annotation.Target;
  * by the validations for the Object message.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The annotation must be applied at method level.
+ * <p>The annotation must be applied at method level.</p>
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -94,7 +94,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -103,7 +103,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
@@ -111,7 +110,7 @@ public @interface VisitorFieldValidator {
 
     /**
      * Determines the context to use for validating the Object property.
-     * If not defined, the context of the Action validator is propogated to the Object property validator.
+     * If not defined, the context of the Action validator is propagated to the Object property validator.
      * In the case of Action validator, this context is the Action alias.
      */
     String context() default "";

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java
index 4fe0ea3..4bfb171 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ConversionErrorFieldValidator.java
@@ -27,7 +27,7 @@ import java.util.Map;
  * <!-- START SNIPPET: javadoc -->
  * Field Validator that checks if a conversion error occurred for this field.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
+ *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  *     <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li>
@@ -53,8 +53,6 @@ import java.util.Map;
  *
  * @author Jason Carreira
  * @author tm_jee
- * 
- * @version $Date $Id$
  */
 public class ConversionErrorFieldValidator extends RepopulateConversionErrorFieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java
index 572d307..cae4a6c 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/DateRangeFieldValidator.java
@@ -30,8 +30,6 @@ import java.util.Date;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  * 		<li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li>
@@ -84,7 +82,6 @@ import java.util.Date;
  *
  *
  * @author Jason Carreira
- * @version $Date$ $Id$
  */
 public final class DateRangeFieldValidator extends RangeValidatorSupport<Date> {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java
index d7f129b..6e59af2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/ExpressionValidator.java
@@ -21,8 +21,7 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * <!-- START SNIPPET: javadoc -->
  * A Non-Field Level validator that validates based on regular expression supplied.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * 
+ *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  * 	 <li>expression - the Ognl expression to be evaluated against the stack (Must evaluate to a Boolean)</li>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java
index 197314b..12dd7c5 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/FieldExpressionValidator.java
@@ -22,8 +22,7 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * <!-- START SNIPPET: javadoc -->
  * Validates a field using an OGNL expression.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * 
+ *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  *    <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li>
@@ -53,10 +52,6 @@ import com.opensymphony.xwork2.validator.ValidationException;
  *    &lt;/vaidators&gt;
  * <!-- END SNIPPET: example -->
  * </pre>
- * 
- *
- * @author $Author$
- * @version $Revision$
  */
 public class FieldExpressionValidator extends FieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
index 6dcb60f..af0edf3 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RepopulateConversionErrorFieldValidatorSupport.java
@@ -28,33 +28,30 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
- *
- *
+ * <p>
  * An abstract base class that adds in the capability to populate the stack with
  * a fake parameter map when a conversion error has occurred and the 'repopulateField'
  * property is set to "true".
- *
- * <p/>
- *
+ * </p>
  *
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * The capability of auto-repopulating the stack with a fake parameter map when
  * a conversion error has occurred can be done with 'repopulateField' property
  * set to "true".
+ * </p>
  *
- * <p/>
- *
- * This is typically usefull when one wants to repopulate the field with the original value
+ * <p>
+ * This is typically useful when one wants to repopulate the field with the original value
  * when a conversion error occurred. Eg. with a textfield that only allows an Integer
  * (the action class have an Integer field declared), upon conversion error, the incorrectly
  * entered integer (maybe a text 'one') will not appear when dispatched back. With 'repopulateField'
- * porperty set to true, it will, meaning the textfield will have 'one' as its value
+ * property set to true, it will, meaning the textfield will have 'one' as its value
  * upon conversion error.
+ * </p>
  *
  * <!-- END SNIPPET: javadoc -->
- *
- * <p/>
+
  *
  * <pre>
  * <!-- START SNIPPET: exampleJspPage -->
@@ -130,7 +127,6 @@ import java.util.Map;
  * </pre>
  *
  * @author tm_jee
- * @version $Date$ $Id$
  */
 public abstract class RepopulateConversionErrorFieldValidatorSupport extends FieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java
index 6b103f2..dffd37a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredFieldValidator.java
@@ -22,16 +22,13 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * <!-- START SNIPPET: javadoc -->
  * RequiredFieldValidator checks if the specified field is not null.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * 
- * 
+ *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  * 		<li>fieldName - field name if plain-validator syntax is used, not needed if field-validator syntax is used</li>
  * </ul>
  * <!-- END SNIPPET: parameters -->
- * 
- * 
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
  * 	   &lt;validators&gt;
@@ -57,7 +54,6 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * 
  *
  * @author rainerh
- * @version $Revision$
  */
 public class RequiredFieldValidator extends FieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java
index 7b2cbfd..1044aed 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/RequiredStringValidator.java
@@ -24,7 +24,6 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * (i.e. it isn't "").  The "trim" parameter determines whether it will {@link String#trim() trim}
  * the String before performing the length check.  If unspecified, the String will be trimmed.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
  *
  * <!-- START SNIPPET: parameters -->
  * <ul>
@@ -68,7 +67,6 @@ import com.opensymphony.xwork2.validator.ValidationException;
  * </pre>
  * 
  * @author rainerh
- * @version $Date$ $Id$
  */
 public class RequiredStringValidator extends FieldValidatorSupport {
 


[5/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
index a46cf34..34b6920 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
@@ -27,12 +27,13 @@ import java.util.Set;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * 
+ *
+ * <p>
  * MethodFilterInterceptor is an abstract <code>Interceptor</code> used as
  * a base class for interceptors that will filter execution based on method 
  * names according to specified included/excluded method lists.
  * 
- * <p/>
+ * </p>
  * 
  * Settable parameters are as follows:
  * 
@@ -41,13 +42,13 @@ import java.util.Set;
  * 		<li>includeMethods - method names to be included in interceptor processing</li>
  * </ul>
  * 
- * <p/>
+ * <p>
  * 
  * <b>NOTE:</b> If method name are available in both includeMethods and 
  * excludeMethods, it will be considered as an included method: 
  * includeMethods takes precedence over excludeMethods.
  * 
- * <p/>
+ * </p>
  * 
  * Interceptors that extends this capability include:
  * 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
index 06a91b5..afc6edc 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ModelDrivenInterceptor.java
@@ -26,15 +26,16 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * Watches for {@link ModelDriven} actions and adds the action's model on to the value stack.
  *
- * <p/> <b>Note:</b>  The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
+ * <p> <b>Note:</b>  The ModelDrivenInterceptor must come before the both {@link StaticParametersInterceptor} and
  * {@link ParametersInterceptor} if you want the parameters to be applied to the model.
- * 
- * <p/> <b>Note:</b>  The ModelDrivenInterceptor will only push the model into the stack when the
+ * </p>
+ * <p> <b>Note:</b>  The ModelDrivenInterceptor will only push the model into the stack when the
  * model is not null, else it will be ignored.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -49,9 +50,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -59,14 +58,14 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="modelDriven"/&gt;
- *     &lt;interceptor-ref name="basicStack"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;modelDriven&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;basicStack&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  * <!-- END SNIPPET: example -->
  * </pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
index 8db8fbc..2de46b1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/NoParameters.java
@@ -17,14 +17,16 @@ package com.opensymphony.xwork2.interceptor;
 
 
 /**
- * Marker interface to incidate no auto setting of parameters.
- * <p/>
+ * Marker interface to indicate no auto setting of parameters.
+ *
+ * <p>
  * This marker interface should be implemented by actions that do not want any
  * request parameters set on them automatically (by the ParametersInterceptor).
  * This may be useful if one is using the action tag and want to supply
  * the parameters to the action manually using the param tag.
  * It may also be useful if one for security reasons wants to make sure that
  * parameters cannot be set by malicious users.
+ * </p>
  *
  * @author Dick Zetterberg (dick@transitor.se)
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
index 865eeb8..eac4d8b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
@@ -241,9 +241,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
      *
      * @param ac        The action context
      * @param newParams The parameter map to apply
-     *                  <p/>
+     *                  <p>
      *                  In this class this is a no-op, since the parameters were fetched from the same location.
      *                  In subclasses both retrieveParameters() and addParametersToContext() should be overridden.
+     *                  </p>
      */
     protected void addParametersToContext(ActionContext ac, Map<String, Object> newParams) {
     }
@@ -468,9 +469,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
     /**
      * Sets a comma-delimited list of regular expressions to match
      * parameters that are allowed in the parameter map (aka whitelist).
-     * <p/>
+     * <p>
      * Don't change the default unless you know what you are doing in terms
      * of security implications.
+     * </p>
      *
      * @param commaDelim A comma-delimited list of regular expressions
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
index 5a6e5a1..bbf8277 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
@@ -23,16 +23,16 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
 /**
+ * <p>
  * A utility class for invoking prefixed methods in action class.
  * 
  * Interceptors that made use of this class are:
+ * </p>
  * <ul>
  * 	 <li>DefaultWorkflowInterceptor</li>
  *   <li>PrepareInterceptor</li>
  * </ul>
- * 
- * <p/>
- * 
+ *  *
  * <!-- START SNIPPET: javadocDefaultWorkflowInterceptor -->
  * 
  * <b>In DefaultWorkflowInterceptor</b>
@@ -70,37 +70,45 @@ public class PrefixMethodInvocationUtil {
     private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
 
     /**
+	 * <p>
 	 * This method will prefix <code>actionInvocation</code>'s <code>ActionProxy</code>'s
 	 * <code>method</code> with <code>prefixes</code> before invoking the prefixed method.
 	 * Order of the <code>prefixes</code> is important, as this method will return once 
 	 * a prefixed method is found in the action class.
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * For example, with
+	 * </p>
+	 *
 	 * <pre>
 	 *   invokePrefixMethod(actionInvocation, new String[] { "prepare", "prepareDo" });
 	 * </pre>
-	 * 
+	 *
+	 * <p>
 	 * Assuming <code>actionInvocation.getProxy(),getMethod()</code> returns "submit", 
 	 * the order of invocation would be as follows:-
+	 * </p>
+	 *
 	 * <ol>
 	 *   <li>prepareSubmit()</li>
 	 *   <li>prepareDoSubmit()</li>
 	 * </ol>
-	 * 
+	 *
+	 * <p>
 	 * If <code>prepareSubmit()</code> exists, it will be invoked and this method 
 	 * will return, <code>prepareDoSubmit()</code> will NOT be invoked. 
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * On the other hand, if <code>prepareDoSubmit()</code> does not exists, and 
 	 * <code>prepareDoSubmit()</code> exists, it will be invoked.
-	 * 
-	 * <p/>
-	 * 
+	 * </p>
+	 *
+	 * <p>
 	 * If none of those two methods exists, nothing will be invoked.
-	 * 
+	 * </p>
+	 *
 	 * @param actionInvocation  the action invocation
 	 * @param prefixes  prefixes for method names
 	 * @throws InvocationTargetException is thrown if invocation of a method failed.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
index 6a327c3..e1d0b52 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
@@ -31,7 +31,8 @@ import java.lang.reflect.InvocationTargetException;
  * {@link Preparable}. This interceptor is very useful for any situation where
  * you need to ensure some logic runs before the actual execute method runs.
  *
- * <p/> A typical use of this is to run some logic to load an object from the
+ * <p>
+ * A typical use of this is to run some logic to load an object from the
  * database so that when parameters are set they can be set on this object. For
  * example, suppose you have a User object with two properties: <i>id</i> and
  * <i>name</i>. Provided that the params interceptor is called twice (once
@@ -39,21 +40,24 @@ import java.lang.reflect.InvocationTargetException;
  * the id property, and then when the second params interceptor is called the
  * parameter <i>user.name</i> will be set, as desired, on the actual object
  * loaded from the database. See the example for more info.
- *
- * <p/>
+ * </p>
+ * <p>
  * <b>Note:</b> Since XWork 2.0.2, this interceptor extends {@link MethodFilterInterceptor}, therefore being
  * able to deal with excludeMethods / includeMethods parameters. See [Workflow Interceptor]
  * (class {@link DefaultWorkflowInterceptor}) for documentation and examples on how to use this feature.
+ * </p>
  *
- * <p/><b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
+ * <p>
+ * <b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
  * the a general prepare() Method, depending on the 'alwaysInvokePrepare' parameter/property
  * which is by default true. This allows us to run some logic based on the method
  * name we specify in the {@link com.opensymphony.xwork2.ActionProxy}. For example, you can specify a
  * prepareInput() method that will be run before the invocation of the input method.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -66,9 +70,7 @@ import java.lang.reflect.InvocationTargetException;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -76,7 +78,7 @@ import java.lang.reflect.InvocationTargetException;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -107,9 +109,10 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
     private boolean firstCallPrepareDo = false;
 
     /**
-     * Sets if the <code>preapare</code> method should always be executed.
-     * <p/>
+     * Sets if the <code>prepare</code> method should always be executed.
+     * <p>
      * Default is <tt>true</tt>.
+     * </p>
      *
      * @param alwaysInvokePrepare if <code>prepare</code> should always be executed or not.
      */
@@ -119,9 +122,9 @@ public class PrepareInterceptor extends MethodFilterInterceptor {
 
     /**
      * Sets if the <code>prepareDoXXX</code> method should be called first
-     * <p/>
+     * <p>
      * Default is <tt>false</tt> for backward compatibility
-     *
+     * </p>
      * @param firstCallPrepareDo if <code>prepareDoXXX</code> should be called first
      */
     public void setFirstCallPrepareDo(String firstCallPrepareDo) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
index 9d32fbe..858a33e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ScopedModelDrivenInterceptor.java
@@ -30,12 +30,12 @@ import java.util.Map;
  *
  * An interceptor that enables scoped model-driven actions.
  *
- * <p/>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface.  If
- * detected, it will retrieve the model class from the configured scope, then provide it to the Action.
+ * <p>This interceptor only activates on actions that implement the {@link ScopedModelDriven} interface.  If
+ * detected, it will retrieve the model class from the configured scope, then provide it to the Action.</p>
  *  
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -51,9 +51,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -61,7 +59,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
index e47af30..934dd54 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
@@ -39,11 +39,11 @@ import java.util.TreeMap;
  * implements {@link Parameterizable}, a map of the static parameters will be also be passed directly to the action.
  * The static params will be added to the request params map, unless "merge" is set to false.
  *
- * <p/> Parameters are typically defined with &lt;param&gt; elements within xwork.xml.
+ * <p> Parameters are typically defined with &lt;param&gt; elements within xwork.xml.</p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -55,15 +55,15 @@ import java.util.TreeMap;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
- * <p/>There are no extension points to this interceptor.
+ * <p>There are no extension points to this interceptor.</p>
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
index 5aa19b6..53c72f1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ValidationAware.java
@@ -113,8 +113,6 @@ public interface ValidationAware {
 
     /**
      * Checks whether there are any action errors or field errors.
-     * <p/>
-     * <b>Note</b>: that this does not have the same meaning as in WW 1.x.
      *
      * @return <code>(hasActionErrors() || hasFieldErrors())</code>
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
index 3fc2fcd..978a49a 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/After.java
@@ -26,14 +26,14 @@ import java.lang.annotation.Target;
  * executed. Return value is ignored.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The After annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -52,7 +52,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
index f978e46..327d2c6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationParameterFilterIntereptor.java
@@ -17,13 +17,16 @@ import java.util.Map;
 
 /**
  * Annotation based version of {@link ParameterFilterInterceptor}.
- * <p/>
+ *
+ * <p>
  * This {@link Interceptor} must be placed in the stack before the {@link ParametersInterceptor}
  * When a parameter matches a field that is marked {@link Blocked} then it is removed from
  * the parameter map.
- * <p/>
+ * </p>
+ * <p>
  * If an {@link Action} class is marked with {@link BlockByDefault} then all parameters are
  * removed unless a field on the Action exists and is marked with {@link Allowed}
+ * </p>
  *
  * @author martin.gilday
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
index 665ed1c..dbe4315 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/AnnotationWorkflowInterceptor.java
@@ -30,50 +30,49 @@ import java.util.List;
 /**
  * <!-- START SNIPPET: javadoc -->
  * <p>Invokes any annotated methods on the action. Specifically, it supports the following
- * annotations:
+ * annotations:</p>
  * <ul>
  * <li> &#64;{@link Before} - will be invoked before the action method. If the returned value is not null, it is
  * returned as the action result code</li>
  * <li> &#64;{@link BeforeResult} - will be invoked after the action method but before the result execution</li>
  * <li> &#64;{@link After} - will be invoked after the action method and result execution</li>
  * </ul>
- * </p>
- * <p/>
+ *
  * <p>There can be multiple methods marked with the same annotations, but the order of their execution
  * is not guaranteed. However, the annotated methods on the superclass chain are guaranteed to be invoked before the
  * annotated method in the current class in the case of a {@link Before} annotations and after, if the annotations is
  * {@link After}.</p>
  * <!-- END SNIPPET: javadoc -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: javacode -->
  *  public class BaseAnnotatedAction {
  *  	protected String log = "";
- * <p/>
+ *
  *  	&#64;Before
  *  	public String baseBefore() {
  *  		log = log + "baseBefore-";
  *  		return null;
  *  	}
  *  }
- * <p/>
+ *
  *  public class AnnotatedAction extends BaseAnnotatedAction {
  *  	&#64;Before
  *  	public String before() {
  *  		log = log + "before";
  *  		return null;
  *  	}
- * <p/>
+ *
  *  	public String execute() {
  *  		log = log + "-execute";
  *  		return Action.SUCCESS;
  *  	}
- * <p/>
+ *
  *  	&#64;BeforeResult
  *  	public void beforeResult() throws Exception {
  *  		log = log +"-beforeResult";
  *  	}
- * <p/>
+ *
  *  	&#64;After
  *  	public void after() {
  *  		log = log + "-after";
@@ -81,13 +80,13 @@ import java.util.List;
  *  }
  * <!-- END SNIPPET: javacode -->
  *  </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: example -->
  * <p>With the interceptor applied and the action executed on <code>AnnotatedAction</code> the log
  * instance variable will contain <code>baseBefore-before-execute-beforeResult-after</code>.</p>
  * <!-- END SNIPPET: example -->
- * <p/>
- * <p/>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:
+ *
+ * <p>Configure a stack in xwork.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:</p>
  * <pre>
  * <!-- START SNIPPET: stack -->
  * &lt;interceptor-stack name="annotatedStack"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
index cb0e555..fb546de 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/Before.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
  * Marks a action method that needs to be executed before the main action method.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The Before annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -51,7 +51,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p<u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
index faeb400..44825bd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/BeforeResult.java
@@ -25,14 +25,14 @@ import java.lang.annotation.Target;
  * Marks a action method that needs to be executed before the result. Return value is ignored.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The BeforeResult annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -51,7 +51,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
index 5d70744..33f7ab1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/annotations/InputConfig.java
@@ -27,14 +27,14 @@ import com.opensymphony.xwork2.Action;
  * Marks a action method that if it's not validated by ValidationInterceptor then execute input method or input result.
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
  * The InputConfig annotation can be applied at method level.
  *
  * <!-- END SNIPPET: usage -->
  *
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table class='confluenceTable'>
@@ -59,7 +59,7 @@ import com.opensymphony.xwork2.Action;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
index 6475957..bc30d57 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/SpringObjectFactory.java
@@ -32,10 +32,14 @@ import java.util.HashMap;
 import java.util.Map;
 
 /**
+ * <p>
  * Simple implementation of the ObjectFactory that makes use of Spring's application context if one has been configured,
- * before falling back on the default mechanism of instantiating a new class using the class name. <p/> In order to use
- * this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
+ * before falling back on the default mechanism of instantiating a new class using the class name.
+ * </p>
+ * <p>
+ * In order to use this class in your application, you will need to instantiate a copy of this class and set it as XWork's ObjectFactory
  * before the xwork.xml file is parsed. In a servlet environment, this could be done using a ServletContextListener.
+ * </p>
  *
  * @author Simon Stewart (sms@lateral.net)
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
index fe02ca5..7c11b85 100644
--- a/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/spring/interceptor/ActionAutowiringInterceptor.java
@@ -77,16 +77,20 @@ public class ActionAutowiringInterceptor extends AbstractInterceptor implements
     }
 
     /**
+     * <p>
      * Looks for the <code>ApplicationContext</code> under the attribute that the Spring listener sets in
      * the servlet context.  The configuration is done the first time here instead of in init() since the
      * <code>ActionContext</code> is not available during <code>Interceptor</code> initialization.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Autowires the action to Spring beans and places the <code>ApplicationContext</code>
      * on the <code>ActionContext</code>
-     * <p/>
-     * TODO Should this check to see if the <code>SpringObjectFactory</code> has already been configured
-     * instead of instantiating a new one?  Or is there a good reason for the interceptor to have it's own
-     * factory?
+     * </p>
+     *
+     * <p>
+     * TODO: Should this check to see if the <code>SpringObjectFactory</code> has already been configured instead of instantiating a new one?  Or is there a good reason for the interceptor to have it's own factory?
+     * </p>
      *
      * @param invocation
      * @throws Exception

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
index 919f5af..46cfe9f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/ClassLoaderUtil.java
@@ -24,10 +24,10 @@ import java.util.*;
 /**
  * This class is extremely useful for loading resources and classes in a fault tolerant manner
  * that works across different applications servers.
- * <p/>
+ * <p>
  * It has come out of many months of frustrating use of multiple application servers at Atlassian,
  * please don't change things unless you're sure they're not going to break in one server or another!
- *
+ * </p>
  */
 public class ClassLoaderUtil {
 
@@ -73,8 +73,10 @@ public class ClassLoaderUtil {
 
     /**
      * Load a given resource.
-     * <p/>
+     * <p>
      * This method will try to load the resource using the following methods (in order):
+     * </p>
+     *
      * <ul>
      * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
      * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
@@ -125,14 +127,19 @@ public class ClassLoaderUtil {
     }
 
     /**
+     * <p>
      * Load a class with a given name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * It will try to load the class in the following order:
+     * </p>
+     *
      * <ul>
-     * <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
-     * <li>Using the basic {@link Class#forName(java.lang.String) }
-     * <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
-     * <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
+     *  <li>From {@link Thread#getContextClassLoader() Thread.currentThread().getContextClassLoader()}
+     *  <li>Using the basic {@link Class#forName(java.lang.String) }
+     *  <li>From {@link Class#getClassLoader() ClassLoaderUtil.class.getClassLoader()}
+     *  <li>From the {@link Class#getClassLoader() callingClass.getClassLoader() }
      * </ul>
      *
      * @param className    The name of the class to load

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
index 050ec2a..0ab63b6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/CreateIfNull.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the CreateIfNull for type conversion.
+ * <p>Sets the CreateIfNull for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The CreateIfNull annotation must be applied at field or method level.
+ * <p>The CreateIfNull annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * &#64;CreateIfNull( value = true )
@@ -63,7 +63,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Element.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Element.java b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
index 30903d2..de66d1f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Element.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Element.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the Element for type conversion.
+ * <p>Sets the Element for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The Element annotation must be applied at field or method level.
+ * <p>The Element annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -67,7 +67,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/Key.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/Key.java b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
index c1b0fc8..5d2fb6d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/Key.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/Key.java
@@ -23,15 +23,15 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the Key for type conversion.
+ * <p>Sets the Key for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The Key annotation must be applied at field or method level.
+ * <p>The Key annotation must be applied at field or method level.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -54,7 +54,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.
@@ -64,7 +64,6 @@ import java.lang.annotation.Target;
  * </pre>
  *
  * @author Rainer Hermanns
- * @version $Id$
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.FIELD, ElementType.METHOD})

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
index 8832bee..396af47 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/KeyProperty.java
@@ -23,16 +23,16 @@ import java.lang.annotation.Target;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>Sets the KeyProperty for type conversion.
+ * <p>Sets the KeyProperty for type conversion.</p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Annotation usage:</u>
+ * <p><u>Annotation usage:</u></p>
  *
  * <!-- START SNIPPET: usage -->
- * <p/>The KeyProperty annotation must be applied at field or method level.
- * <p/>This annotation should be used with Generic types, if the key property of the key element needs to be specified.
+ * <p>The KeyProperty annotation must be applied at field or method level.</p>
+ * <p>This annotation should be used with Generic types, if the key property of the key element needs to be specified.</p>
  * <!-- END SNIPPET: usage -->
- * <p/> <u>Annotation parameters:</u>
+ * <p><u>Annotation parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  * <table>
@@ -55,7 +55,7 @@ import java.lang.annotation.Target;
  * </table>
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * // The key property for User objects within the users collection is the <code>userName</code> attribute.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
index 2d9afa2..2372499 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/LocalizedTextUtil.java
@@ -42,10 +42,10 @@ import java.util.concurrent.ConcurrentMap;
 
 /**
  * Provides support for localization in XWork.
- * <p/>
+ *
  * <!-- START SNIPPET: searchorder -->
- * Resource bundles are searched in the following order:<p/>
- * <p/>
+ * <p>Resource bundles are searched in the following order:</p>
+ *
  * <ol>
  * <li>ActionClass.properties</li>
  * <li>Interface.properties (every interface and sub-interface)</li>
@@ -55,11 +55,11 @@ import java.util.concurrent.ConcurrentMap;
  * <li>search up the i18n message key hierarchy itself</li>
  * <li>global resource properties</li>
  * </ol>
- * <p/>
+ *
  * <!-- END SNIPPET: searchorder -->
- * <p/>
+ *
  * <!-- START SNIPPET: packagenote -->
- * To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:<p/>
+ * <p>To clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties:</p>
  * com/<br/>
  * &nbsp; acme/<br/>
  * &nbsp; &nbsp; package.properties<br/>
@@ -67,22 +67,22 @@ import java.util.concurrent.ConcurrentMap;
  * &nbsp; &nbsp; &nbsp; package.properties<br/>
  * &nbsp; &nbsp; &nbsp; FooAction.java<br/>
  * &nbsp; &nbsp; &nbsp; FooAction.properties<br/>
- * <p/>
+ * <p>
  * If FooAction.properties does not exist, com/acme/action/package.properties will be searched for, if
  * not found com/acme/package.properties, if not found com/package.properties, etc.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: packagenote -->
- * <p/>
+ *
  * <!-- START SNIPPET: globalresource -->
- * A global resource bundle could be specified programatically, as well as the locale.
- * <p/>
+ * <p>
+ * A global resource bundle could be specified programmatically, as well as the locale.
+ * </p>
  * <!-- END SNIPPET: globalresource -->
  *
  * @author Jason Carreira
  * @author Mark Woon
  * @author Rainer Hermanns
  * @author tm_jee
- * @version $Date$ $Id$
  */
 public class LocalizedTextUtil {
 
@@ -132,8 +132,9 @@ public class LocalizedTextUtil {
 
     /**
      * Add's the bundle to the internal list of default bundles.
-     * <p/>
+     * <p>
      * If the bundle already exists in the list it will be readded.
+     * </p>
      *
      * @param resourceBundleName the name of the bundle to add.
      */
@@ -250,9 +251,10 @@ public class LocalizedTextUtil {
     }
 
     /**
-     * Finds the given resorce bundle by it's name.
-     * <p/>
+     * Finds the given resource bundle by it's name.
+     * <p>
      * Will use <code>Thread.currentThread().getContextClassLoader()</code> as the classloader.
+     * </p>
      *
      * @param aBundleName the name of the bundle (usually it's FQN classname).
      * @param locale      the locale.
@@ -328,10 +330,12 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName. Both the key and the message
      * itself is evaluated as required.  The following algorithm is used to find the requested
      * message:
-     * <p/>
+     * </p>
+     *
      * <ol>
      * <li>Look for message in aClass' class hierarchy.
      * <ol>
@@ -350,19 +354,25 @@ public class LocalizedTextUtil {
      * <li>If still not found, look for the message in the default resource bundles.</li>
      * <li>Return defaultMessage</li>
      * </ol>
-     * <p/>
+     *
+     * <p>
      * When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
      * message for that specific key cannot be found, the general form will also be looked up
      * (i.e. user.phone[*]).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
+     * </p>
      *
      * @param aClass         the class whose name to use as the start point for the search
      * @param aTextName      the key to find the text message for
      * @param locale         the locale the message should be for
      * @param defaultMessage the message to be returned if no text message can be found in any
      *                       resource bundle
+     * @param args           arguments
+     *                       resource bundle
      * @return the localized text, or null if none can be found and no defaultMessage is provided
      */
     public static String findText(Class aClass, String aTextName, Locale locale, String defaultMessage, Object[] args) {
@@ -372,10 +382,12 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName. Both the key and the message
      * itself is evaluated as required.  The following algorithm is used to find the requested
      * message:
-     * <p/>
+     * </p>
+     *
      * <ol>
      * <li>Look for message in aClass' class hierarchy.
      * <ol>
@@ -394,21 +406,28 @@ public class LocalizedTextUtil {
      * <li>If still not found, look for the message in the default resource bundles.</li>
      * <li>Return defaultMessage</li>
      * </ol>
-     * <p/>
+     *
+     * <p>
      * When looking for the message, if the key indexes a collection (e.g. user.phone[0]) and a
      * message for that specific key cannot be found, the general form will also be looked up
      * (i.e. user.phone[*]).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param aClass         the class whose name to use as the start point for the search
      * @param aTextName      the key to find the text message for
      * @param locale         the locale the message should be for
      * @param defaultMessage the message to be returned if no text message can be found in any
      *                       resource bundle
+     * @param args           arguments
      * @param valueStack     the value stack to use to evaluate expressions instead of the
      *                       one in the ActionContext ThreadLocal
      * @return the localized text, or null if none can be found and no defaultMessage is provided
@@ -581,11 +600,15 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource bundle
      * with aTextName as the default message.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
+     * </p>
      *
      * @see #findText(java.util.ResourceBundle, String, java.util.Locale, String, Object[])
      */
@@ -594,13 +617,19 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource
      * bundle.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param bundle         the bundle
      * @param aTextName      the key
@@ -614,13 +643,19 @@ public class LocalizedTextUtil {
     }
 
     /**
+     * <p>
      * Finds a localized text message for the given key, aTextName, in the specified resource
      * bundle.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is found, it will also be interpolated.  Anything within <code>${...}</code>
      * will be treated as an OGNL expression and evaluated as such.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If a message is <b>not</b> found a WARN log will be logged.
+     * </p>
      *
      * @param bundle         the bundle
      * @param aTextName      the key

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
index a25a679..04cb3e7 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/PropertiesReader.java
@@ -21,13 +21,17 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
+ * <p>
  * This class is used to read properties lines. These lines do
  * not terminate with new-line chars but rather when there is no
  * backslash sign a the end of the line.  This is used to
  * concatenate multiple lines for readability.
- * <p/>
+ * </p>
+ *
+ * <p>
  * This class was pulled out of Jakarta Commons Configuration and
  * Jakarta Commons Lang trunk revision 476093
+ * </p>
  */
 public class PropertiesReader extends LineNumberReader {
     /**
@@ -403,7 +407,7 @@ public class PropertiesReader extends LineNumberReader {
 
     /**
      * <p>Checks if the object is in the given array.</p>
-     * <p/>
+     *
      * <p>The method returns <code>false</code> if a <code>null</code> array is passed in.</p>
      *
      * @param array        the array to search through
@@ -449,11 +453,11 @@ public class PropertiesReader extends LineNumberReader {
     /**
      * <p>Unescapes any Java literals found in the <code>String</code> to a
      * <code>Writer</code>.</p>
-     * <p/>
+     *
      * <p>For example, it will turn a sequence of <code>'\'</code> and
      * <code>'n'</code> into a newline character, unless the <code>'\'</code>
      * is preceded by another <code>'\'</code>.</p>
-     * <p/>
+     *
      * <p>A <code>null</code> string input has no effect.</p>
      *
      * @param out the <code>Writer</code> used to output unescaped characters

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index db1af6d..fe6f76e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -56,7 +56,7 @@ public class TextParseUtil {
      * could be null, if it is it will just be skipped as if it is just calling
      * {@link #translateVariables(char, String, ValueStack)}.
      *
-     * <p/>
+     * <br>
      *
      * A typical use-case would be when we need to URL Encode the parsed value. To do so
      * we could just supply a URLEncodingEvaluator for example.
@@ -266,24 +266,24 @@ public class TextParseUtil {
 
 
     /**
+     * <p>
      * A parsed value evaluator for {@link TextParseUtil}. It could be supplied by
      * calling {@link TextParseUtil#translateVariables(char, String, ValueStack, Class, ParsedValueEvaluator)}.
+     * </p>
      *
-     * <p/>
-     *
+     * <p>
      * By supplying this <code>ParsedValueEvaluator</code>, the parsed value
      * (parsed against the value stack) value will be
      * given to <code>ParsedValueEvaluator</code> to be evaluated before the
      * translateVariable process goes on.
+     * </p>
      *
-     * <p/>
-     *
+     * <p>
      * A typical use-case would be to have a custom <code>ParseValueEvaluator</code>
      * to URL Encode the parsed value.
+     * </p>
      *
      * @author tm_jee
-     *
-     * @version $Date$ $Id$
      */
     public static interface ParsedValueEvaluator {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
index 2a50197..fa1f05b 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
@@ -52,13 +52,17 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Inserts the specified element at the specified position in this list. Shifts the element
      * currently at that position (if any) and any subsequent elements to the right (adds one to
      * their indices).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index   index at which the specified element is to be inserted.
      * @param element element to be inserted.
@@ -75,9 +79,13 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Appends the specified element to the end of this list.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method performs any necessary type conversion.
+     * </p>
      *
      * @param element element to be appended to this list.
      * @return <tt>true</tt> (as per the general contract of Collection.add).
@@ -90,13 +98,17 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Appends all of the elements in the specified Collection to the end of this list, in the order
      * that they are returned by the specified Collection's Iterator.  The behavior of this
      * operation is undefined if the specified Collection is modified while the operation is in
      * progress.  (This implies that the behavior of this call is undefined if the specified
      * Collection is this list, and this list is nonempty.)
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method performs any necessary type conversion.
+     * </p>
      *
      * @param collection the elements to be inserted into this list.
      * @return <tt>true</tt> if this list changed as a result of the call.
@@ -116,14 +128,18 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Inserts all of the elements in the specified Collection into this list, starting at the
      * specified position.  Shifts the element currently at that position (if any) and any
      * subsequent elements to the right (increases their indices).  The new elements will appear in
      * the list in the order that they are returned by the specified Collection's iterator.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index index at which to insert first element from the specified collection.
      * @param collection     elements to be inserted into this list.
@@ -153,10 +169,14 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Returns the element at the specified position in this list.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * An object is guaranteed to be returned since it will create empty beans to fill the gap
      * between the current list size and the requested index.
+     * </p>
      *
      * @param index index of element to return.
      * @return the element at the specified position in this list.
@@ -179,11 +199,15 @@ public class XWorkList extends ArrayList {
     }
 
     /**
+     * <p>
      * Replaces the element at the specified position in this list with the specified element.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is guaranteed to work since it will create empty beans to fill the gap between
      * the current list size and the requested index to enable the element to be set.  This method
      * also performs any necessary type conversion.
+     * </p>
      *
      * @param index   index of element to replace.
      * @param element element to be stored at the specified position.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
index 55fe34f..e44e261 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/classloader/ReloadingClassLoader.java
@@ -33,12 +33,16 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
+ * <p>
  * The ReloadingClassLoader uses a delegation mechanism to allow
  * classes to be reloaded. That means that loadClass calls may
  * return different results if the class was changed in the underlying
  * ResourceStore.
- * <p/>
+ * </p>
+ *
+ * <p>
  * class taken from Apache JCI
+ * </p>
  */
 public class ReloadingClassLoader extends ClassLoader {
     private static final Logger LOG = LogManager.getLogger(ReloadingClassLoader.class);

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
index 50fde4a..a096264 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java
@@ -25,15 +25,24 @@ public interface ClassFinder {
     boolean isAnnotationPresent(Class<? extends Annotation> annotation);
 
     /**
+     * <p>
      * Returns a list of classes that could not be loaded in last invoked findAnnotated* method.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list will only contain entries of classes whose byte code matched the requirements
      * of last invoked find* method, but were unable to be loaded and included in the results.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list returned is unmodifiable.  Once obtained, the returned list will be a live view of the
      * results from the last findAnnotated* method call.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is not thread safe.
+     * </p>
+     *
      * @return an unmodifiable live view of classes that could not be loaded in previous findAnnotated* call.
      */
     List<String> getClassesNotLoaded();

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
index c7f9fd1..75368e2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/finder/ResourceFinder.java
@@ -30,7 +30,6 @@ import java.util.jar.JarFile;
 
 /**
  * @author David Blevins
- * @version $Rev$ $Date$
  */
 public class ResourceFinder {
     private static final Logger LOG = LogManager.getLogger(ResourceFinder.class);
@@ -84,16 +83,22 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Returns a list of resources that could not be loaded in the last invoked findAvailable* or
      * mapAvailable* methods.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list will only contain entries of resources that match the requirements
      * of the last invoked findAvailable* or mapAvailable* methods, but were unable to be
      * loaded and included in their results.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The list returned is unmodifiable and the results of this method will change
      * after each invocation of a findAvailable* or mapAvailable* methods.
-     * <p/>
+     * </p>
+     *
      * This method is not thread safe.
      */
     public List<String> getResourcesNotLoaded() {
@@ -200,24 +205,34 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Reads the contents of all non-directory URLs immediately under the specified
      * location and returns them in a map keyed by the file name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URLs that cannot be read will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/serializables/one
      * META-INF/serializables/two
      * META-INF/serializables/three
      * META-INF/serializables/four/foo.txt
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("serializables");
      * map.contains("one");  // true
      * map.contains("two");  // true
      * map.contains("three");  // true
      * map.contains("four");  // false
+     * </pre>
      *
      * @param uri
      * @return a list of the content of each resource URL found
@@ -236,25 +251,35 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Reads the contents of all non-directory URLs immediately under the specified
      * location and returns them in a map keyed by the file name.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Individual URLs that cannot be read are skipped and added to the
      * list of 'resourcesNotLoaded'
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/serializables/one
      * META-INF/serializables/two      # not readable
      * META-INF/serializables/three
      * META-INF/serializables/four/foo.txt
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("serializables");
      * map.contains("one");  // true
      * map.contains("two");  // false
      * map.contains("three");  // true
      * map.contains("four");  // false
+     * </pre>
      *
      * @param uri
      * @return a list of the content of each resource URL found
@@ -298,10 +323,14 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes findAllStrings assuming the strings are
      * the names of a classes that should be loaded and returned.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL or class that cannot be loaded will cause an exception to be thrown.
+     * </p>
      *
      * @param uri
      * @return
@@ -319,11 +348,15 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes findAvailableStrings assuming the strings are
      * the names of a classes that should be loaded and returned.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be skipped and placed in the
      * 'resourcesNotLoaded' collection.
+     * </p>
      *
      * @param uri
      * @return
@@ -345,22 +378,30 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes mapAllStrings assuming the value of each entry in the
      * map is the name of a class that should be loaded.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     * <pre>
      * META-INF/xmlparsers/xerces
      * META-INF/xmlparsers/crimson
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("xmlparsers");
      * map.contains("xerces");  // true
      * map.contains("crimson");  // true
      * Class xercesClass = map.get("xerces");
      * Class crimsonClass = map.get("crimson");
+     * </pre>
      *
      * @param uri
      * @return
@@ -380,23 +421,31 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Executes mapAvailableStrings assuming the value of each entry in the
      * map is the name of a class that should be loaded.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be skipped and placed in the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     * <pre>
      * META-INF/xmlparsers/xerces
      * META-INF/xmlparsers/crimson
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAvailableStrings("xmlparsers");
      * map.contains("xerces");  // true
      * map.contains("crimson");  // true
      * Class xercesClass = map.get("xerces");
      * Class crimsonClass = map.get("crimson");
+     * </p>
      *
      * @param uri
      * @return
@@ -426,20 +475,28 @@ public class ResourceFinder {
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded will be cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.OutputStream
-     * <p/>
+     * </pre>
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Class clazz = finder.findImplementation(java.io.InputStream.class);
      * clazz.getName();  // returns "org.acme.AcmeInputStream"
-     *
+     * </pre>
      * @param interfase a superclass or interface
      * @return
      * @throws IOException            if the URL cannot be read
@@ -456,23 +513,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or assigned to the specified interface will be cause
      * an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.InputStream    # contains the classname org.widget.NeatoInputStream
      * META-INF/java.io.InputStream    # contains the classname com.foo.BarInputStream
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List classes = finder.findAllImplementations(java.io.InputStream.class);
      * classes.contains("org.acme.AcmeInputStream");  // true
      * classes.contains("org.widget.NeatoInputStream");  // true
      * classes.contains("com.foo.BarInputStream");  // true
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -494,24 +561,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a file in the classpath that contains
      * the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or are not assignable to the specified class will be
      * skipped and placed in the 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.io.InputStream    # contains the classname org.acme.AcmeInputStream
      * META-INF/java.io.InputStream    # contains the classname org.widget.NeatoInputStream
      * META-INF/java.io.InputStream    # contains the classname com.foo.BarInputStream
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List classes = finder.findAllImplementations(java.io.InputStream.class);
      * classes.contains("org.acme.AcmeInputStream");  // true
      * classes.contains("org.widget.NeatoInputStream");  // true
      * classes.contains("com.foo.BarInputStream");  // true
-     *
+     * </pre>
      * @param interfase a superclass or interface
      * @return
      * @throws IOException if classLoader.getResources throws an exception
@@ -536,23 +612,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a directory in the classpath that holds files
-     * containing the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * containing the name of a class that implements or is a subclass of the specified class.
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or assigned to the specified interface will be cause
      * an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.net.URLStreamHandler/jar
      * META-INF/java.net.URLStreamHandler/file
      * META-INF/java.net.URLStreamHandler/http
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
      * Class jarUrlHandler = map.get("jar");
      * Class fileUrlHandler = map.get("file");
      * Class httpUrlHandler = map.get("http");
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -576,23 +662,33 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Assumes the class specified points to a directory in the classpath that holds files
-     * containing the name of a class that implements or is a subclass of the specfied class.
-     * <p/>
+     * containing the name of a class that implements or is a subclass of the specified class.
+     * </p>
+     *
+     * <p>
      * Any class that cannot be loaded or are not assignable to the specified class will be
      * skipped and placed in the 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/java.net.URLStreamHandler/jar
      * META-INF/java.net.URLStreamHandler/file
      * META-INF/java.net.URLStreamHandler/http
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Map map = finder.mapAllImplementations(java.net.URLStreamHandler.class);
      * Class jarUrlHandler = map.get("jar");
      * Class fileUrlHandler = map.get("file");
      * Class httpUrlHandler = map.get("http");
+     * </pre>
      *
      * @param interfase a superclass or interface
      * @return
@@ -626,14 +722,22 @@ public class ResourceFinder {
     // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
     /**
+     * <p>
      * Finds the corresponding resource and reads it in as a properties file
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>>
      * META-INF/widget.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * Properties widgetProps = finder.findProperties("widget.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -651,18 +755,28 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/app.properties
      * META-INF/app.properties
      * META-INF/app.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> appProps = finder.findAllProperties("app.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -683,19 +797,29 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will be added to the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/app.properties
      * META-INF/app.properties
      * META-INF/app.properties
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> appProps = finder.findAvailableProperties("app.properties");
+     * </pre>
      *
      * @param uri
      * @return
@@ -721,21 +845,31 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will cause an exception to be thrown.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/jdbcDrivers/oracle.properties
      * META-INF/jdbcDrivers/mysql.props
      * META-INF/jdbcDrivers/derby
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
+     * </pre>
      *
      * @param uri
      * @return
@@ -754,22 +888,32 @@ public class ResourceFinder {
     }
 
     /**
+     * <p>
      * Finds the corresponding resources and reads them in as a properties files
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Any URL that cannot be read in as a properties file will be added to the
      * 'resourcesNotLoaded' collection.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Example classpath:
-     * <p/>
+     * </p>
+     *
+     * <pre>
      * META-INF/jdbcDrivers/oracle.properties
      * META-INF/jdbcDrivers/mysql.props
      * META-INF/jdbcDrivers/derby
-     * <p/>
+     * </pre>
+     *
+     * <pre>
      * ResourceFinder finder = new ResourceFinder("META-INF/");
      * List<Properties> driversList = finder.findAvailableProperties("jdbcDrivers");
      * Properties oracleProps = driversList.get("oracle.properties");
      * Properties mysqlProps = driversList.get("mysql.props");
      * Properties derbyProps = driversList.get("derby");
+     * </p>
      *
      * @param uri
      * @return
@@ -825,7 +969,7 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpckages from jars or dirs
+     * Gets a list of subpackages from jars or dirs
      */
     public Set<String> findPackages(String uri) throws IOException {
         String basePath = path + uri;
@@ -854,7 +998,7 @@ public class ResourceFinder {
     }
 
     /**
-     * Gets a list of subpckages from jars or dirs
+     * Gets a list of subpackages from jars or dirs
      */
     public Map<URL, Set<String>> findPackagesMap(String uri) throws IOException {
         String basePath = path + uri;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
index 7438113..66cc005 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/profiling/ObjectProfiler.java
@@ -37,10 +37,15 @@ import java.lang.reflect.Proxy;
 public class ObjectProfiler {
 
     /**
+     * <p>
      * Given a class, and an interface that it implements, return a proxied version of the class that implements
      * the interface.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The usual use of this is to profile methods from Factory objects:
+     * </p>
+     *
      * <pre>
      * public PersistenceManager getPersistenceManager()
      * {
@@ -53,8 +58,10 @@ public class ObjectProfiler {
      *   return ObjectProfiler.getProfiledObject(PersistenceManager.class, new DefaultPersistenceManager());
      * }
      * </pre>
-     * <p/>
+     *
+     * <p>
      * A side effect of this is that you will no longer be able to downcast to DefaultPersistenceManager.  This is probably a *good* thing.
+     * </p>
      *
      * @param interfaceClazz The interface to implement.
      * @param o              The object to proxy


[6/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Posted by jo...@apache.org.
Fix wrong closing HTML tags in javadoc comments


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/eb564a25
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/eb564a25
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/eb564a25

Branch: refs/heads/master
Commit: eb564a25e111269db41bed99a7c781d1ed227270
Parents: f85c60e
Author: Johannes Geppert <jo...@apache.org>
Authored: Thu Jul 16 22:02:20 2015 +0200
Committer: Johannes Geppert <jo...@apache.org>
Committed: Thu Jul 16 22:02:21 2015 +0200

----------------------------------------------------------------------
 .../freemarker/CustomFreemarkerManager.java     |  12 +-
 .../src/main/webapp/WEB-INF/view/index.jsp      |   5 +-
 .../java/com/opensymphony/xwork2/Action.java    |   9 +-
 .../com/opensymphony/xwork2/ActionContext.java  |  14 +-
 .../opensymphony/xwork2/ActionInvocation.java   |  34 ++-
 .../com/opensymphony/xwork2/ActionProxy.java    |   6 +-
 .../opensymphony/xwork2/ActionProxyFactory.java |  10 +-
 .../com/opensymphony/xwork2/ActionSupport.java  |  19 +-
 .../opensymphony/xwork2/DefaultActionProxy.java |   5 +-
 .../com/opensymphony/xwork2/LocaleProvider.java |   4 +-
 .../com/opensymphony/xwork2/ObjectFactory.java  |   5 +-
 .../java/com/opensymphony/xwork2/Result.java    |   5 +-
 .../com/opensymphony/xwork2/TextProvider.java   |  17 +-
 .../xwork2/TextProviderSupport.java             |   4 +-
 .../com/opensymphony/xwork2/UnknownHandler.java |   4 +-
 .../xwork2/ValidationAwareSupport.java          |  20 +-
 .../xwork2/config/ConfigurationManager.java     |   9 +-
 .../config/entities/InterceptorConfig.java      |   4 +-
 .../config/entities/InterceptorStackConfig.java |   4 +-
 .../xwork2/config/entities/PackageConfig.java   |  10 +-
 .../xwork2/config/entities/Parameterizable.java |  10 +-
 .../xwork2/config/entities/ResultConfig.java    |   4 +-
 .../config/entities/ResultTypeConfig.java       |   4 +-
 .../providers/XmlConfigurationProvider.java     |   5 +-
 .../xwork2/config/providers/XmlHelper.java      |   7 +-
 .../xwork2/inject/ContainerBuilder.java         |  15 +-
 .../xwork2/inject/ContainerImpl.java            |  10 +-
 .../xwork2/inject/ExternalContext.java          |  10 +-
 .../com/opensymphony/xwork2/inject/Key.java     |  10 +-
 .../com/opensymphony/xwork2/inject/Scope.java   |  10 +-
 .../xwork2/inject/util/ReferenceCache.java      |  10 +-
 .../xwork2/inject/util/ReferenceMap.java        |  16 +-
 .../xwork2/interceptor/AliasInterceptor.java    |  19 +-
 .../xwork2/interceptor/ChainingInterceptor.java |  28 +-
 .../interceptor/ConversionErrorInterceptor.java |  16 +-
 .../interceptor/DefaultWorkflowInterceptor.java |  10 +-
 .../ExceptionMappingInterceptor.java            |  24 +-
 .../xwork2/interceptor/I18nInterceptor.java     |  43 ++-
 .../xwork2/interceptor/Interceptor.java         | 163 +++++------
 .../xwork2/interceptor/LoggingInterceptor.java  |  19 +-
 .../interceptor/MethodFilterInterceptor.java    |   9 +-
 .../interceptor/ModelDrivenInterceptor.java     |  23 +-
 .../xwork2/interceptor/NoParameters.java        |   6 +-
 .../interceptor/ParametersInterceptor.java      |   6 +-
 .../interceptor/PrefixMethodInvocationUtil.java |  38 ++-
 .../xwork2/interceptor/PrepareInterceptor.java  |  29 +-
 .../ScopedModelDrivenInterceptor.java           |  12 +-
 .../StaticParametersInterceptor.java            |  10 +-
 .../xwork2/interceptor/ValidationAware.java     |   2 -
 .../xwork2/interceptor/annotations/After.java   |   6 +-
 .../AnnotationParameterFilterIntereptor.java    |   7 +-
 .../AnnotationWorkflowInterceptor.java          |  23 +-
 .../xwork2/interceptor/annotations/Before.java  |   6 +-
 .../interceptor/annotations/BeforeResult.java   |   6 +-
 .../interceptor/annotations/InputConfig.java    |   6 +-
 .../xwork2/spring/SpringObjectFactory.java      |   8 +-
 .../ActionAutowiringInterceptor.java            |  14 +-
 .../xwork2/util/ClassLoaderUtil.java            |  23 +-
 .../opensymphony/xwork2/util/CreateIfNull.java  |  11 +-
 .../com/opensymphony/xwork2/util/Element.java   |  11 +-
 .../java/com/opensymphony/xwork2/util/Key.java  |  11 +-
 .../opensymphony/xwork2/util/KeyProperty.java   |  12 +-
 .../xwork2/util/LocalizedTextUtil.java          |  89 ++++--
 .../xwork2/util/PropertiesReader.java           |  12 +-
 .../opensymphony/xwork2/util/TextParseUtil.java |  14 +-
 .../com/opensymphony/xwork2/util/XWorkList.java |  36 ++-
 .../util/classloader/ReloadingClassLoader.java  |   6 +-
 .../xwork2/util/finder/ClassFinder.java         |  15 +-
 .../xwork2/util/finder/ResourceFinder.java      | 278 ++++++++++++++-----
 .../xwork2/util/profiling/ObjectProfiler.java   |  11 +-
 .../xwork2/util/profiling/UtilTimerStack.java   | 251 +++++++++--------
 .../util/reflection/ReflectionContextState.java |   9 +-
 .../AnnotationActionValidatorManager.java       |  16 +-
 .../DefaultActionValidatorManager.java          |  18 +-
 .../xwork2/validator/ValidationInterceptor.java |  62 +++--
 .../xwork2/validator/Validator.java             | 206 +++++++-------
 .../ConditionalVisitorFieldValidator.java       |  23 +-
 .../ConversionErrorFieldValidator.java          |  11 +-
 .../validator/annotations/CustomValidator.java  |   9 +-
 .../annotations/DateRangeFieldValidator.java    |   9 +-
 .../annotations/DoubleRangeFieldValidator.java  |   9 +-
 .../validator/annotations/EmailValidator.java   |  11 +-
 .../annotations/ExpressionValidator.java        |   9 +-
 .../annotations/FieldExpressionValidator.java   |  11 +-
 .../annotations/IntRangeFieldValidator.java     |  11 +-
 .../annotations/RegexFieldValidator.java        |  11 +-
 .../annotations/RequiredFieldValidator.java     |   9 +-
 .../annotations/RequiredStringValidator.java    |   8 +-
 .../annotations/ShortRangeFieldValidator.java   |   8 +-
 .../annotations/StringLengthFieldValidator.java |   9 +-
 .../validator/annotations/Validation.java       |  11 +-
 .../annotations/ValidationParameter.java        |   8 +-
 .../validator/annotations/Validations.java      |   9 +-
 .../annotations/VisitorFieldValidator.java      |  11 +-
 .../ConversionErrorFieldValidator.java          |   4 +-
 .../validators/DateRangeFieldValidator.java     |   3 -
 .../validators/ExpressionValidator.java         |   3 +-
 .../validators/FieldExpressionValidator.java    |   7 +-
 ...ateConversionErrorFieldValidatorSupport.java |  22 +-
 .../validators/RequiredFieldValidator.java      |   8 +-
 .../validators/RequiredStringValidator.java     |   2 -
 .../validators/StringLengthFieldValidator.java  |   9 +-
 .../validators/VisitorFieldValidator.java       |   6 +-
 .../java/org/apache/struts2/StrutsStatics.java  |  17 +-
 .../apache/struts2/components/ActionError.java  |   2 +-
 .../struts2/components/ActionMessage.java       |   2 +-
 .../org/apache/struts2/components/Anchor.java   |  11 +-
 .../org/apache/struts2/components/Bean.java     |  14 +-
 .../org/apache/struts2/components/Checkbox.java |   2 +-
 .../apache/struts2/components/CheckboxList.java |   2 +-
 .../org/apache/struts2/components/ComboBox.java |  14 +-
 .../apache/struts2/components/Component.java    |  30 +-
 .../org/apache/struts2/components/Date.java     |  14 +-
 .../struts2/components/DoubleListUIBean.java    |   7 +-
 .../apache/struts2/components/DoubleSelect.java |   2 +-
 .../apache/struts2/components/FieldError.java   |   9 +-
 .../org/apache/struts2/components/File.java     |   2 +-
 .../org/apache/struts2/components/Form.java     |  33 ++-
 .../struts2/components/GenericUIBean.java       |  57 ++--
 .../org/apache/struts2/components/Head.java     |   2 +-
 .../org/apache/struts2/components/Hidden.java   |   2 +-
 .../org/apache/struts2/components/I18n.java     |   6 +-
 .../org/apache/struts2/components/Include.java  |  10 +-
 .../struts2/components/InputTransferSelect.java |  13 +-
 .../struts2/components/IteratorComponent.java   |  19 +-
 .../org/apache/struts2/components/Label.java    |   8 +-
 .../apache/struts2/components/ListUIBean.java   |  11 +-
 .../org/apache/struts2/components/Number.java   |  44 +--
 .../org/apache/struts2/components/OptGroup.java |  11 +-
 .../components/OptionTransferSelect.java        |  12 +-
 .../org/apache/struts2/components/Param.java    |  34 ++-
 .../org/apache/struts2/components/Password.java |  10 +-
 .../org/apache/struts2/components/Property.java |  11 +-
 .../org/apache/struts2/components/Push.java     |   2 +-
 .../org/apache/struts2/components/Radio.java    |  11 +-
 .../org/apache/struts2/components/Reset.java    |   2 +-
 .../org/apache/struts2/components/Select.java   |   9 +-
 .../java/org/apache/struts2/components/Set.java |  11 +-
 .../org/apache/struts2/components/Text.java     |  18 +-
 .../org/apache/struts2/components/TextArea.java |   2 +-
 .../apache/struts2/components/TextField.java    |   9 +-
 .../org/apache/struts2/components/Token.java    |   2 +-
 .../org/apache/struts2/components/UIBean.java   |  33 ++-
 .../java/org/apache/struts2/components/URL.java |   2 +-
 .../apache/struts2/components/UpDownSelect.java |   8 +-
 .../struts2/components/template/Template.java   |   4 +-
 .../template/TemplateEngineManager.java         |  11 +-
 .../dispatcher/DefaultStaticContentLoader.java  |  13 +-
 .../apache/struts2/dispatcher/Dispatcher.java   |  14 +-
 .../struts2/dispatcher/mapper/ActionMapper.java |  16 +-
 .../dispatcher/mapper/DefaultActionMapper.java  |  32 ++-
 .../mapper/PrefixBasedActionMapper.java         |  14 +-
 .../multipart/MultiPartRequestWrapper.java      |  17 +-
 .../factory/PrefixBasedActionProxyFactory.java  |  10 +-
 .../ActionMappingParametersInteceptor.java      |  40 +--
 .../struts2/interceptor/ApplicationAware.java   |   8 +-
 .../interceptor/CheckboxInterceptor.java        |  14 +-
 .../interceptor/ClearSessionInterceptor.java    |  13 +-
 .../struts2/interceptor/CookieInterceptor.java  |  26 +-
 .../interceptor/CreateSessionInterceptor.java   |  17 +-
 .../interceptor/ExecuteAndWaitInterceptor.java  |  51 ++--
 .../interceptor/FileUploadInterceptor.java      |  87 +++---
 .../struts2/interceptor/I18nInterceptor.java    |  16 +-
 .../interceptor/MessageStoreInterceptor.java    |  43 +--
 .../struts2/interceptor/ParameterAware.java     |  15 +-
 .../struts2/interceptor/RequestAware.java       |   8 +-
 .../struts2/interceptor/RolesInterceptor.java   |   7 +-
 .../struts2/interceptor/ScopeInterceptor.java   |  22 +-
 .../interceptor/ServletConfigInterceptor.java   |  16 +-
 .../interceptor/ServletRequestAware.java        |  15 +-
 .../interceptor/ServletResponseAware.java       |  13 +-
 .../struts2/interceptor/SessionAware.java       |  13 +-
 .../StrutsConversionErrorInterceptor.java       |  14 +-
 .../struts2/interceptor/TokenInterceptor.java   |  27 +-
 .../TokenSessionStoreInterceptor.java           |  19 +-
 .../debugging/DebuggingInterceptor.java         |  12 +-
 .../apache/struts2/result/HttpHeaderResult.java |  29 +-
 .../apache/struts2/result/PostbackResult.java   |   8 +-
 .../struts2/result/ServletDispatcherResult.java |  13 +-
 .../struts2/result/ServletRedirectResult.java   |  13 +-
 .../org/apache/struts2/result/StreamResult.java |  11 +-
 .../struts2/result/StrutsResultSupport.java     |  58 ++--
 .../apache/struts2/result/VelocityResult.java   |  20 +-
 .../org/apache/struts2/util/AttributeMap.java   |   7 +-
 .../java/org/apache/struts2/util/Counter.java   |   4 +-
 .../struts2/util/StrutsTypeConverter.java       |  15 +-
 .../org/apache/struts2/util/StrutsUtil.java     |   3 +-
 .../views/freemarker/FreemarkerManager.java     |  26 +-
 .../views/freemarker/FreemarkerResult.java      |  25 +-
 .../views/freemarker/ScopesHashModel.java       |   8 +-
 .../views/freemarker/StrutsBeanWrapper.java     |   7 +-
 .../struts2/views/velocity/VelocityManager.java |  12 +-
 .../struts2/views/xslt/AdapterFactory.java      |  10 +-
 .../struts2/views/xslt/StringAdapter.java       |   6 +-
 .../org/apache/struts2/interceptor/wait.ftl     |   4 +-
 .../xwork2/ExternalReferenceAction.java         |   7 -
 .../test/java/com/opensymphony/xwork2/Foo.java  |   7 -
 .../xwork2/config/ConfigurationTest.java        |   4 -
 .../providers/NoNoArgsConstructorAction.java    |   4 +-
 .../providers/PrivateConstructorAction.java     |   6 +-
 .../interceptor/AliasInterceptorTest.java       |   6 +-
 .../accessor/XWorkListPropertyAccessorTest.java |   4 -
 .../DefaultValidatorFileParserTest.java         |   4 -
 .../xwork2/validator/IntRangeValidatorTest.java |   4 -
 .../validator/LongRangeValidatorTest.java       |   5 -
 .../validator/RegexFieldValidatorTest.java      |   6 +-
 .../validator/ShortRangeValidatorTest.java      |   5 -
 .../validator/SimpleActionValidationTest.java   |   4 -
 .../components/AnotherActionComponentTest.java  |   7 -
 .../struts2/views/jsp/AbstractUITagTest.java    |   2 +-
 .../apache/struts2/views/jsp/AnchorTagTest.java |  28 +-
 .../struts2/views/jsp/StrutsMockJspWriter.java  |   5 +-
 .../struts2/views/jsp/ui/CheckboxListTest.java  |   2 +-
 .../struts2/views/jsp/ui/CheckboxTest.java      |   2 +-
 .../apache/struts2/views/jsp/ui/FileTest.java   |   2 +-
 .../struts2/views/jsp/ui/FormTagTest.java       |  13 +-
 .../struts2/views/jsp/ui/HeadTagTest.java       |   2 +-
 .../apache/struts2/views/jsp/ui/HiddenTest.java |   2 +-
 .../apache/struts2/views/jsp/ui/LabelTest.java  |   2 +-
 .../apache/struts2/views/jsp/ui/ResetTest.java  |   2 +-
 .../apache/struts2/views/jsp/ui/SubmitTest.java |   2 +-
 .../struts2/views/jsp/ui/TextareaTest.java      |   2 +-
 .../struts2/views/jsp/ui/TextfieldTest.java     |   2 +-
 core/src/test/resources/XSLTResultTest3.xsl     |   3 +-
 .../beanvalidation/constraints/FieldMatch.java  |   7 +-
 .../validation/constant/ValidatorConstants.java |   2 +-
 .../apache/struts2/validators/DWRValidator.java |   5 +-
 .../struts2/jasper/runtime/PageContextImpl.java |   2 +-
 .../struts2/views/gxp/AbstractGxpResult.java    |  10 +-
 .../org/apache/struts2/views/gxp/GxpResult.java |  16 +-
 .../jasperreports/JasperReportsResult.java      |  28 +-
 .../apache/struts2/dispatcher/ChartResult.java  |  30 +-
 .../org/apache/struts2/json/JSONResult.java     |  21 +-
 .../java/org/apache/struts2/json/JSONUtil.java  |   6 +-
 .../org/apache/struts2/json/JSONEnumTest.java   |   2 +-
 .../apache/struts2/osgi/OsgiHostFactory.java    |  11 +-
 .../oval/interceptor/OValValidationManager.java |  16 +-
 .../multipart/PellMultiPartRequest.java         |   3 +-
 .../struts2/plexus/PlexusObjectFactory.java     |   8 +-
 .../dispatcher/DirectRenderFromEventAction.java |   6 +-
 .../portlet/result/PortletVelocityResult.java   |  10 +-
 .../freemarker/PortletFreemarkerResult.java     |  16 +-
 .../struts2/rest/RestWorkflowInterceptor.java   |  23 +-
 .../src/main/java/org/apache/struts2/Main.java  |   5 +-
 .../org/apache/struts2/sitegraph/SiteGraph.java |   6 +-
 .../sitemesh/FreemarkerDecoratorServlet.java    |  16 +-
 .../sitemesh/VelocityDecoratorServlet.java      |  16 +-
 .../spring/StrutsSpringObjectFactory.java       |   7 +-
 .../tiles/StrutsTilesRequestContext.java        |   8 +-
 249 files changed, 2344 insertions(+), 1692 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java
----------------------------------------------------------------------
diff --git a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java
index 3eb4e08..5cf6b49 100644
--- a/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java
+++ b/apps/showcase/src/main/java/org/apache/struts2/showcase/freemarker/CustomFreemarkerManager.java
@@ -28,18 +28,20 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 /**
+ * <p>
  * This is an example of a custom FreemarkerManager, mean to be
  * instantiated through Spring.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
  * It will add into Freemarker's model
  * an utility class called {@link CustomFreemarkerManagerUtil} as a simple
  * example demonstrating how to extends FreemarkerManager.
- * <p/>
- * <p/>
+ * </p>
+ * <p>
  * The {@link CustomFreemarkerManagerUtil} will be created by Spring and
  * injected through constructor injection.
- * <p/>
+ * </p>
  */
 public class CustomFreemarkerManager extends FreemarkerManager {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp b/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp
index 5cd1fef..10f2e87 100644
--- a/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp
+++ b/archetypes/struts2-archetype-dbportlet/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/view/index.jsp
@@ -1,7 +1,8 @@
 <%@ taglib prefix="s" uri="/struts-tags" %>
-<H2>Welcome to the Struts data table portlet</H2>
-<p/>
+<h2>Welcome to the Struts data table portlet</h2>
+<p>
 This a simple table showing the database data:
+</p>
 <table>
  <tr>
   <th>Name</th>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/Action.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/Action.java b/core/src/main/java/com/opensymphony/xwork2/Action.java
index f10a431..c9274c5 100644
--- a/core/src/main/java/com/opensymphony/xwork2/Action.java
+++ b/core/src/main/java/com/opensymphony/xwork2/Action.java
@@ -17,9 +17,10 @@ package com.opensymphony.xwork2;
 
 /**
  * All actions <b>may</b> implement this interface, which exposes the <code>execute()</code> method.
- * <p/>
+ * <p>
  * However, as of XWork 1.1, this is <b>not</b> required and is only here to assist users. You are free to create POJOs
  * that honor the same contract defined by this interface without actually implementing the interface.
+ * </p>
  */
 public interface Action {
 
@@ -44,6 +45,7 @@ public interface Action {
     public static final String ERROR = "error";
 
     /**
+     * <p>
      * The action execution require more input
      * in order to succeed.
      * This result is typically used if a form
@@ -51,10 +53,13 @@ public interface Action {
      * to provide defaults for a form. The
      * form associated with the handler should be
      * shown to the end user.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This result is also used if the given input
      * params are invalid, meaning the user
      * should try providing input again.
+     * </p>
      */
     public static final String INPUT = "input";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
index 60ff183..74e45d3 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
@@ -25,16 +25,22 @@ import java.util.Map;
 
 
 /**
+ * <p>
  * The ActionContext is the context in which an {@link Action} is executed. Each context is basically a
- * container of objects an action needs for execution like the session, parameters, locale, etc. <p>
- * <p/>
+ * container of objects an action needs for execution like the session, parameters, locale, etc.
+ * </p>
+ *
+ * <p>
  * The ActionContext is thread local which means that values stored in the ActionContext are
  * unique per thread. See the {@link ThreadLocal} class for more information. The benefit of
  * this is you don't need to worry about a user specific action context, you just get it:
- * <p/>
+ * </p>
+ *
  * <ul><code>ActionContext context = ActionContext.getContext();</code></ul>
- * <p/>
+ *
+ * <p>
  * Finally, because of the thread local usage you don't need to worry about making your actions thread safe.
+ * </p>
  *
  * @author Patrick Lightbody
  * @author Bill Lynch (docs)

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java b/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java
index d94516b..1289c84 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionInvocation.java
@@ -83,23 +83,31 @@ public interface ActionInvocation extends Serializable {
     /**
      * Sets the result code, possibly overriding the one returned by the
      * action.
-     * <p/>
+     *
+     * <p>
      * The "intended" purpose of this method is to allow PreResultListeners to
      * override the result code returned by the Action.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If this method is used before the Action executes, the Action's returned
      * result code will override what was set. However the Action could (if
      * specifically coded to do so) inspect the ActionInvocation to see that
      * someone "upstream" (e.g. an Interceptor) had suggested a value as the
      * result, and it could therefore return the same value itself.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If this method is called between the Action execution and the Result
      * execution, then the value set here will override the result code the
      * action had returned.  Creating an Interceptor that implements
-     * {@link PreResultListener} will give you this oportunity.
-     * <p/>
+     * {@link PreResultListener} will give you this opportunity.
+     * </p>
+     *
+     * <p>
      * If this method is called after the Result has been executed, it will
      * have the effect of raising an IllegalStateException.
+     * </p>
      *
      * @param resultCode  the result code.
      * @throws IllegalStateException if called after the Result has been executed.
@@ -117,11 +125,15 @@ public interface ActionInvocation extends Serializable {
     /**
      * Register a {@link PreResultListener} to be notified after the Action is executed and
      * before the Result is executed.
-     * <p/>
+     *
+     * <p>
      * The ActionInvocation implementation must guarantee that listeners will be called in
      * the order in which they are registered.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Listener registration and execution does not need to be thread-safe.
+     * </p>
      *
      * @param listener the listener to add.
      */
@@ -129,11 +141,13 @@ public interface ActionInvocation extends Serializable {
 
     /**
      * Invokes the next step in processing this ActionInvocation.
-     * <p/>
+     *
+     * <p>
      * If there are more Interceptors, this will call the next one. If Interceptors choose not to short-circuit
      * ActionInvocation processing and return their own return code, they will call invoke() to allow the next Interceptor
      * to execute. If there are no more Interceptors to be applied, the Action is executed.
      * If the {@link ActionProxy#getExecuteResult()} method returns <tt>true</tt>, the Result is also executed.
+     * </p>
      *
      * @throws Exception can be thrown.
      * @return the return code.
@@ -142,9 +156,11 @@ public interface ActionInvocation extends Serializable {
 
     /**
      * Invokes only the Action (not Interceptors or Results).
-     * <p/>
+     *
+     * <p>
      * This is useful in rare situations where advanced usage with the interceptor/action/result workflow is
      * being manipulated for certain functionality.
+     * </p>
      *
      * @return the return code.
      * @throws Exception can be thrown.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java b/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java
index 95110ac..6064d26 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionProxy.java
@@ -20,9 +20,11 @@ import com.opensymphony.xwork2.config.entities.ActionConfig;
 
 /**
  * ActionProxy is an extra layer between XWork and the action so that different proxies are possible.
- * <p/>
- * An example of this would be a remote proxy, where the layer between XWork and the action might be RMI or SOAP.
  *
+ * <p>
+ * An example of this would be a remote proxy, where the layer between XWork and the action might be RMI or SOAP.
+ * </p>
+ * 
  * @author Jason Carreira
  */
 public interface ActionProxy {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java b/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java
index 9fba8f4..efbc1e6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionProxyFactory.java
@@ -20,9 +20,11 @@ import java.util.Map;
 
 /**
  * The {@link ActionProxyFactory} is used to create {@link ActionProxy}s to be executed.
- * <p/>
+ *
+ * <p>
  * It is the entry point to XWork that is used by a dispatcher to create an {@link ActionProxy} to execute
  * for a particular namespace and action name.
+ * </p>
  *
  * @author Jason Carreira
  * @see DefaultActionProxyFactory
@@ -32,8 +34,10 @@ public interface ActionProxyFactory {
     /**
      * Creates an {@link ActionProxy} for the given namespace and action name by looking up the configuration.The ActionProxy
      * should be fully initialized when it is returned, including having an {@link ActionInvocation} instance associated.
-     * <p/>
-     * <b>Note:</b> This is the most used create method.
+     *
+     * <p>
+     *  <b>Note:</b> This is the most used create method.
+     * </p>
      *
      * @param namespace    the namespace of the action, can be <tt>null</tt>
      * @param actionName   the name of the action

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
index 6d56b25..1506fad 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
@@ -162,10 +162,14 @@ public class ActionSupport implements Action, Validateable, ValidationAware, Tex
 
     /**
      * A default implementation that does nothing an returns "success".
-     * <p/>
+     *
+     * <p>
      * Subclasses should override this method to provide their business logic.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * See also {@link com.opensymphony.xwork2.Action#execute()}.
+     * </p>
      *
      * @return returns {@link #SUCCESS}
      * @throws Exception can be thrown by subclasses.
@@ -246,13 +250,16 @@ public class ActionSupport implements Action, Validateable, ValidationAware, Tex
      * <!-- START SNIPPET: pause-method -->
      * Stops the action invocation immediately (by throwing a PauseException) and causes the action invocation to return
      * the specified result, such as {@link #SUCCESS}, {@link #INPUT}, etc.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * The next time this action is invoked (and using the same continuation ID), the method will resume immediately
      * after where this method was called, with the entire call stack in the execute method restored.
-     * <p/>
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Note: this method can <b>only</b> be called within the {@link #execute()} method.
+     * </p>
+     *
      * <!-- END SNIPPET: pause-method -->
      *
      * @param result the result to return - the same type of return value in the {@link #execute()} method.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java b/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
index 544fbf3..1e4170d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
+++ b/core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
@@ -68,8 +68,11 @@ public class DefaultActionProxy implements ActionProxy, Serializable {
 
     /**
      * This constructor is private so the builder methods (create*) should be used to create an DefaultActionProxy.
-     * <p/>
+     *
+     * <p>
      * The reason for the builder methods is so that you can use a subclass to create your own DefaultActionProxy instance
+     * </p>
+     *
      * (like a RMIActionProxy).
      */
     protected DefaultActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java b/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
index 6fc4ea9..9584e4e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/LocaleProvider.java
@@ -20,11 +20,13 @@ import java.util.Locale;
 
 /**
  * Indicates that the implementing class can provide its own {@link Locale}.
- * <p/>
+ *
+ * <p>
  * This is useful for when an action may wish override the default locale. All that is
  * needed is to implement this interface and return your own custom locale.
  * The {@link TextProvider} interface uses this interface heavily for retrieving
  * internationalized messages from resource bundles.
+ * </p>
  *
  * @author Jason Carreira
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java b/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
index 5b60a32..0b055a8 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
@@ -36,10 +36,11 @@ import java.util.Map;
 /**
  * ObjectFactory is responsible for building the core framework objects. Users may register their 
  * own implementation of the ObjectFactory to control instantiation of these Objects.
- * <p/>
+ *
+ * <p>
  * This default implementation uses the {@link #buildBean(Class,java.util.Map) buildBean} 
  * method to create all classes (interceptors, actions, results, etc).
- * <p/>
+ * </p>
  *
  * @author Jason Carreira
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/Result.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/Result.java b/core/src/main/java/com/opensymphony/xwork2/Result.java
index 3d65377..c8d8bed 100644
--- a/core/src/main/java/com/opensymphony/xwork2/Result.java
+++ b/core/src/main/java/com/opensymphony/xwork2/Result.java
@@ -20,8 +20,11 @@ import java.io.Serializable;
 
 /**
  * All results (except for <code>Action.NONE</code>) of an {@link Action} are mapped to a View implementation.
- * <p/>
+ *
+ * <p>
  * Examples of Views might be:
+ * </p>
+ *
  * <ul>
  * <li>SwingPanelView - pops up a new Swing panel</li>
  * <li>ActionChainView - executes another action</li>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/TextProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/TextProvider.java b/core/src/main/java/com/opensymphony/xwork2/TextProvider.java
index aed8479..70f88df 100644
--- a/core/src/main/java/com/opensymphony/xwork2/TextProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/TextProvider.java
@@ -29,22 +29,29 @@ import java.util.ResourceBundle;
  * bundle associated with each superclass as well. It will stop once a bundle is
  * found that contains the given text. This gives a cascading style that allow
  * global texts to be defined for an application base class.
- * <p/>
+ *
+ * <p>
  * You can override {@link LocaleProvider#getLocale()} to change the behaviour of how
  * to choose locale for the bundles that are returned. Typically you would
  * use the {@link LocaleProvider} interface to get the users configured locale.
- * <p/>
+ * </p>
+ *
+ * <p>
  * When you want to use your own implementation for Struts 2 project you have to define following
  * bean and constant in struts.xml:
  * &lt;bean class=&quot;org.demo.MyTextProvider&quot; name=&quot;myTextProvider&quot; type=&quot;com.opensymphony.xwork2.TextProvider&quot; /&gt;
  * &lt;constant name=&quot;struts.xworkTextProvider&quot; value=&quot;myTextProvider&quot; /&gt;
- * <p/>
+ * </p>
+ *
+ * <p>
  * if you want to also use your implementation for framework's messages define another constant (remember to put
  * into it all framework messages)
  * &lt;constant name=&quot;system&quot; value=&quot;myTextProvider&quot; /&gt;
- * <p/>
- * Take a look on {@link com.opensymphony.xwork2.ActionSupport} for example TextProvider implemntation.
+ * </p>
  *
+ * <p>
+ * Take a look on {@link com.opensymphony.xwork2.ActionSupport} for example TextProvider implementation.
+ * </p>
  * @author Jason Carreira
  * @author Rainer Hermanns
  * @see LocaleProvider

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java b/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
index 8b641a4..3f20902 100644
--- a/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
@@ -291,12 +291,14 @@ public class TextProviderSupport implements ResourceBundleTextProvider {
 
     /**
      * Get the named bundle.
-     * <p/>
+     *
+     * <p>
      * You can override the getLocale() methodName to change the behaviour of how
      * to choose locale for the bundles that are returned. Typically you would
      * use the TextProvider interface to get the users configured locale, or use
      * your own methodName to allow the user to select the locale and store it in
      * the session (by using the SessionAware interface).
+     * </p>
      *
      * @param aBundleName bundle name
      * @return a resource bundle

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java b/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java
index 2558b78..2b5c7c1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java
+++ b/core/src/main/java/com/opensymphony/xwork2/UnknownHandler.java
@@ -19,8 +19,10 @@ import com.opensymphony.xwork2.config.entities.ActionConfig;
 
 /**
  * Handles cases when the result or action is unknown.
- * <p/>
+ *
+ * <p>
  * This allows other classes like Struts plugins to provide intelligent defaults easier.
+ * </p>
  */
 public interface UnknownHandler {
     

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
index 3d9ccac..2f64a98 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ValidationAwareSupport.java
@@ -121,8 +121,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
 
     /**
      * Clears field errors map.
-     * <p/>
+     *
+     * <p>
      * Will clear the map that contains field errors.
+     * </p>
      */
     public synchronized void clearFieldErrors() {
         internalGetFieldErrors().clear();
@@ -130,8 +132,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
 
     /**
      * Clears action errors list.
-     * <p/>
+     *
+     * <p>
      * Will clear the list that contains action errors.
+     * </p>
      */
     public synchronized void clearActionErrors() {
         internalGetActionErrors().clear();
@@ -139,8 +143,10 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
 
     /**
      * Clears messages list.
-     * <p/>
+     *
+     * <p>
      * Will clear the list that contains action messages.
+     * </p>
      */
     public synchronized void clearMessages() {
         internalGetActionMessages().clear();
@@ -148,9 +154,11 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
 
     /**
      * Clears all error list/maps.
-     * <p/>
+     *
+     * <p>
      * Will clear the map and list that contain
      * field errors and action errors.
+     * </p>
      */
     public synchronized void clearErrors() {
         internalGetFieldErrors().clear();
@@ -159,9 +167,11 @@ public class ValidationAwareSupport implements ValidationAware, Serializable {
 
     /**
      * Clears all error and messages list/maps.
-     * <p/>
+     *
+     * <p>
      * Will clear the maps/lists that contain
      * field errors, action errors and action messages.
+     * </p>
      */
     public synchronized void clearErrorsAndMessages() {
         internalGetFieldErrors().clear();

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
index 38920f7..63abe87 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
@@ -85,12 +85,15 @@ public class ConfigurationManager {
     }
 
     /**
+     * <p>
      * Get the current list of ConfigurationProviders. If no custom ConfigurationProviders have been added, this method
-     * will return a list containing only the default ConfigurationProvider, XMLConfigurationProvider.  if a custom
+     * will return a list containing only the default ConfigurationProvider, XMLConfigurationProvider. If a custom
      * ConfigurationProvider has been added, then the XmlConfigurationProvider must be added by hand.
      * </p>
-     * <p/>
-     * TODO: the lazy instantiation of XmlConfigurationProvider should be refactored to be elsewhere.  the behavior described above seems unintuitive.
+     *
+     * <p>
+     * TODO: The lazy instantiation of XmlConfigurationProvider should be refactored to be elsewhere. The behavior described above seems unintuitive.
+     * </p>
      *
      * @return the list of registered ConfigurationProvider objects
      * @see ConfigurationProvider

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java
index b04bbd9..6baa481 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorConfig.java
@@ -25,8 +25,10 @@ import java.util.Map;
 
 /**
  * Configuration for Interceptors.
- * <p/>
+ *
+ * <p>
  * In the xml configuration file this is defined as the <code>interceptors</code> tag.
+ * </p>
  *
  * @author Mike
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java
index b9e2f78..f17eed6 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/InterceptorStackConfig.java
@@ -27,8 +27,10 @@ import java.util.List;
 
 /**
  * Configuration for InterceptorStack.
- * <p/>
+ *
+ * <p>
  * In the xml configuration file this is defined as the <code>interceptor-stack</code> tag.
+ * </p>
  *
  * @author Mike
  * @author Rainer Hermanns

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
index d4a3c5c..0f803f2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
@@ -26,8 +26,10 @@ import java.util.*;
 
 /**
  * Configuration for Package.
- * <p/>
+ *
+ * <p>
  * In the xml configuration file this is defined as the <code>package</code> tag.
+ * </p>
  *
  * @author Rainer Hermanns
  * @version $Revision$
@@ -257,10 +259,14 @@ public class PackageConfig extends Located implements Comparable, Serializable,
     }
 
     /**
+     * <p>
      * Returns the default result type for this package.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * If there is no default result type, but this package has parents - we will try to
      * look up the default result type of a parent.
+     * </p>
      */
     public String getFullDefaultResultType() {
         if ((defaultResultType == null) && !parents.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java
index 42b6cb3..363f502 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/Parameterizable.java
@@ -19,13 +19,15 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p/>
+ * <p>
  * Actions implementing Parameterizable will receive a map of the static parameters defined in the action
  * configuration.
- * <p/>
- * <p/> The {@link com.opensymphony.xwork2.interceptor.StaticParametersInterceptor} must be in the action's interceptor
+ * </p>
+ *
+ * <p>
+ * The {@link com.opensymphony.xwork2.interceptor.StaticParametersInterceptor} must be in the action's interceptor
  * queue for this to work.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
  * @author Jason Carreira

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java
index b9ed588..b74ce03 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultConfig.java
@@ -26,8 +26,10 @@ import java.util.Map;
 
 /**
  * Configuration for Result.
- * <p/>
+ *
+ * <p>
  * In the xml configuration file this is defined as the <code>result</code> tag.
+ * </p>
  *
  * @author Mike
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java
index dcf69e5..bbed0e2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/entities/ResultTypeConfig.java
@@ -26,8 +26,10 @@ import java.util.Map;
 
 /**
  * Configuration class for result types.
- * <p/>
+ *
+ * <p>
  * In the xml configuration file this is defined as the <code>result-type</code> tag.
+ * </p>
  *
  * @author Mike
  * @author Rainer Hermanns

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
index d3d524c..e8e6548 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
@@ -599,9 +599,12 @@ public class XmlConfigurationProvider implements ConfigurationProvider {
     }
 
     /**
+     * <p>
      * This method builds a package context by looking for the parents of this new package.
-     * <p/>
+     * </p>
+     * <p>
      * If no parents are found, it will return a root package.
+     * </p>
      */
     protected PackageConfig.Builder buildPackageContext(Element packageElement) {
         String parent = packageElement.getAttribute("extends");

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
index 84e09d3..fd85be5 100644
--- a/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
+++ b/core/src/main/java/com/opensymphony/xwork2/config/providers/XmlHelper.java
@@ -80,15 +80,20 @@ public class XmlHelper {
     }
 
     /**
+     * <p>
      * This method will return the content of this particular <code>element</code>.
      * For example,
-     * <p/>
+     * </p>
+     *
      * <pre>
      *    <result>something_1</result>
      * </pre>
+     *
+     * <p>
      * When the {@link org.w3c.dom.Element} <code>&lt;result&gt;</code> is passed in as
      * argument (<code>element</code> to this method, it returns the content of it,
      * namely, <code>something_1</code> in the example above.
+     * </p>
      *
      * @return
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java
index ccc1e10..064aac3 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerBuilder.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject;
@@ -211,12 +215,15 @@ public final class ContainerBuilder {
     }
 
     /**
+     * <p>
      * Maps an implementation class to a given dependency type and name. Creates
      * instances using the container, recursively injecting dependencies.
-     * <p/>
+     * </p>
+     *
      * <p>Sets scope to value from {@link Scoped} annotation on the
      * implementation class. Defaults to {@link Scope#PROTOTYPE} if no annotation
      * is found.
+     * </p>
      *
      * @param type           of dependency
      * @param name           of dependency

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
index 1879933..7e5ab62 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/ContainerImpl.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java b/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java
index 0c054e8..d37e37c 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/ExternalContext.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/Key.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/Key.java b/core/src/main/java/com/opensymphony/xwork2/inject/Key.java
index ad9e0ba..4c05a38 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/Key.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/Key.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java b/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java
index c79176b..f42829f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/Scope.java
@@ -64,17 +64,21 @@ public enum Scope {
     },
 
     /**
+     * <p>
      * One instance per thread.
-     * <p/>
-     * <p><b>Note:</b> if a thread local object strongly references its {@link
+     * </p>
+     *
+     * <p>
+     * <b>Note:</b> if a thread local object strongly references its {@link
      * Container}, neither the {@code Container} nor the object will be
      * eligible for garbage collection, i.e. memory leak.
+     * </p>
      */
     THREAD {
         @Override
         <T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name, final InternalFactory<? extends T> factory) {
             return new InternalFactory<T>() {
-                final ThreadLocal<T> threadLocal = new ThreadLocal<T>();
+                final ThreadLocal<T> threadLocal = new ThreadLocal<>();
 
                 public T create(final InternalContext context) {
                     T t = threadLocal.get();

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java
index 964b727..82e8af1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceCache.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject.util;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java
index 4d8eebb..608deb2 100644
--- a/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java
+++ b/core/src/main/java/com/opensymphony/xwork2/inject/util/ReferenceMap.java
@@ -1,17 +1,21 @@
 /**
  * Copyright (C) 2006 Google Inc.
- * <p/>
+ *
+ * <p>
  * Licensed 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
- * <p/>
+ * </p>
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * <p>
  * 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.
+ * </p>
  */
 
 package com.opensymphony.xwork2.inject.util;
@@ -37,7 +41,7 @@ import static com.opensymphony.xwork2.inject.util.ReferenceType.STRONG;
  * after keys and values at any time can lead to some racy semantics. For
  * example, {@link #size()} returns an upper bound on the size, i.e. the actual
  * size may be smaller in cases where the key or value has been reclaimed but
- * the map entry has not been cleaned up yet.
+ * the map entry has not been cleaned up yet.</p>
  *
  * <p>Another example: If {@link #get(Object)} cannot find an existing entry
  * for a key, it will try to create one. This operation is not atomic. One
@@ -45,9 +49,9 @@ import static com.opensymphony.xwork2.inject.util.ReferenceType.STRONG;
  * thread running {@code get()} checks for an entry and decides to create one.
  * In this case, the newly created value will replace the put value in the
  * map. Also, two threads running {@code get()} concurrently can potentially
- * create duplicate values for a given key.
+ * create duplicate values for a given key.</p>
  *
- * <p>In other words, this class is great for caching but not atomicity.
+ * <p>In other words, this class is great for caching but not atomicity.</p>
  *
  * @author crazybob@google.com (Bob Lee)
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
index a95ee88..72de510 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
@@ -36,16 +36,17 @@ import java.util.Map;
  * <!-- START SNIPPET: description -->
  *
  * The aim of this Interceptor is to alias a named parameter to a different named parameter. By acting as the glue
- * between actions sharing similiar parameters (but with different names), it can help greatly with action chaining.
+ * between actions sharing similar parameters (but with different names), it can help greatly with action chaining.
  *
- * <p/>  Action's alias expressions should be in the form of  <code>#{ "name1" : "alias1", "name2" : "alias2" }</code>.
+ * <p>Action's alias expressions should be in the form of  <code>#{ "name1" : "alias1", "name2" : "alias2" }</code>.
  * This means that assuming an action (or something else in the stack) has a value for the expression named <i>name1</i> and the
  * action this interceptor is applied to has a setter named <i>alias1</i>, <i>alias1</i> will be set with the value from
  * <i>name1</i>.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -58,9 +59,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -68,7 +67,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -106,9 +105,13 @@ public class AliasInterceptor extends AbstractInterceptor {
     }
 
     /**
+     * <p>
      * Sets the name of the action parameter to look for the alias map.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Default is <code>aliases</code>.
+     * </p>
      *
      * @param aliasesKey  the name of the action parameter
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
index 8218e1b..d3e62e5 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
@@ -31,21 +31,24 @@ import java.util.*;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * An interceptor that copies all the properties of every object in the value stack to the currently executing object,
  * except for any object that implements {@link Unchainable}. A collection of optional <i>includes</i> and
  * <i>excludes</i> may be provided to control how and which parameters are copied. Only includes or excludes may be
  * specified. Specifying both results in undefined behavior. See the javadocs for {@link ReflectionProvider#copy(Object, Object,
  * java.util.Map, java.util.Collection, java.util.Collection)} for more information.
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
  * <b>Note:</b> It is important to remember that this interceptor does nothing if there are no objects already on the stack.
  * <br/>This means two things:
  * <br/><b>One</b>, you can safely apply it to all your actions without any worry of adverse affects.
  * <br/><b/>Two</b>, it is up to you to ensure an object exists in the stack prior to invoking this action. The most typical way this is done
  * is through the use of the <b>chain</b> result type, which combines with this interceptor to make up the action
  * chaining feature.
- * <p/>
+ * </p>
+ *
+ * <p>
  * <b>Note:</b> By default Errors, Field errors and Message aren't copied during chaining, to change the behaviour you can specify
  * the below three constants in struts.properties or struts.xml:
  * <ul>
@@ -53,13 +56,16 @@ import java.util.*;
  * <li>struts.xwork.chaining.copyFieldErrors - set to true to copy Field Errors</li>
  * <li>struts.xwork.chaining.copyMessages - set to true to copy Action Messages</li>
  * </ul>
- * <p>
+ * </p>
+ *
  * <p>
  * <u>Example:</u>
  * <pre>
  * &lt;constant name="struts.xwork.chaining.copyErrors" value="true"/&gt;
  * </pre>
  * </p>
+ *
+ * <p>
  * <b>Note:</b> By default actionErrors and actionMessages are excluded when copping object's properties.
  * </p>
  * <!-- END SNIPPET: description -->
@@ -77,22 +83,24 @@ import java.util.*;
  * </p>
  * <!-- END SNIPPET: extending -->
  * <u>Example code:</u>
- * <pre>
+ *
  * <!-- START SNIPPET: example -->
- * <p/>
+ * <pre>
  * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
  *     &lt;interceptor-ref name="basicStack"/&gt;
  *     &lt;result name="success" type="chain"&gt;otherAction&lt;/result&gt;
  * &lt;/action&gt;
- * <p/>
+ * </pre>
+ *
+ * <pre>
  * &lt;action name="otherAction" class="com.examples.OtherAction"&gt;
  *     &lt;interceptor-ref name="chain"/&gt;
  *     &lt;interceptor-ref name="basicStack"/&gt;
  *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
- * <p/>
- * <!-- END SNIPPET: example -->
  * </pre>
+ * <!-- END SNIPPET: example -->
+ *
  *
  * @author mrdon
  * @author tm_jee ( tm_jee(at)yahoo.co.uk )

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
index 4f70aed..6a82e04 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ConversionErrorInterceptor.java
@@ -29,32 +29,28 @@ import java.util.Map;
  * <!-- START SNIPPET: description -->
  * ConversionErrorInterceptor adds conversion errors from the ActionContext to the Action's field errors.
  *
- * <p/>
+ * <p>
  * This interceptor adds any error found in the {@link ActionContext}'s conversionErrors map as a field error (provided
  * that the action implements {@link ValidationAware}). In addition, any field that contains a validation error has its
  * original value saved such that any subsequent requests for that value return the original value rather than the value
  * in the action. This is important because if the value "abc" is submitted and can't be converted to an int, we want to
  * display the original string ("abc") again rather than the int value (likely 0, which would make very little sense to
  * the user).
- *
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
  * <ul>
- *
- * <li>None</li>
- *
+ *  <li>None</li>
  * </ul>
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p> <u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
@@ -65,7 +61,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p> <u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
index e3f2220..f0308d1 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
@@ -26,22 +26,24 @@ import java.lang.reflect.Method;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * An interceptor that makes sure there are not validation errors before allowing the interceptor chain to continue.
  * <b>This interceptor does not perform any validation</b>.
- * <p/>
+ * </p>
+ * <p>
  * This interceptor does nothing if the name of the method being invoked is specified in the <b>excludeMethods</b>
  * parameter. <b>excludeMethods</b> accepts a comma-delimited list of method names. For example, requests to
  * <b>foo!input.action</b> and <b>foo!back.action</b> will be skipped by this interceptor if you set the
  * <b>excludeMethods</b> parameter to "input, back".
- * <p/>
+ * </p>
+ * <p>
  * <b>Note:</b> As this method extends off MethodFilterInterceptor, it is capable of
  * deciding if it is applicable only to selective methods in the action class. This is done by adding param tags
  * for the interceptor element, naming either a list of excluded method names and/or a list of included method
  * names, whereby includeMethods overrides excludedMethods. A single * sign is interpreted as wildcard matching
  * all methods for both parameters.
  * See {@link MethodFilterInterceptor} for more info.
- * <p/>
+ * </p>
  * This interceptor also supports the following interfaces which can implemented by actions:
  * <ul>
  *     <li>ValidationAware - implemented by ActionSupport class</li>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
index f6efb2f..a273bb4 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
@@ -26,20 +26,23 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * This interceptor forms the core functionality of the exception handling feature. Exception handling allows you to map
  * an exception to a result code, just as if the action returned a result code instead of throwing an unexpected
  * exception. When an exception is encountered, it is wrapped with an {@link ExceptionHolder} and pushed on the stack,
  * providing easy access to the exception from within your result.
+ * </p>
  *
+ * <p>
  * <b>Note:</b> While you can configure exception mapping in your configuration file at any point, the configuration
  * will not have any effect if this interceptor is not in the interceptor stack for your actions. It is recommended that
  * you make this interceptor the first interceptor on the stack, ensuring that it has full access to catch any
  * exception, even those caused by other interceptors.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -54,24 +57,24 @@ import java.util.Map;
  *
  * </ul>
  *
+ * <p>
  * The parameters above enables us to log all thrown exceptions with stacktace in our own logfile,
  * and present a friendly webpage (with no stacktrace) to the end user.
+ * </p>
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * If you want to add custom handling for publishing the Exception, you may override
  * {@link #publishException(com.opensymphony.xwork2.ActionInvocation, ExceptionHolder)}. The default implementation
  * pushes the given ExceptionHolder on value stack. A custom implementation could add additional logging etc.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -97,10 +100,11 @@ import java.util.Map;
  * <!-- END SNIPPET: example -->
  * </pre>
  * 
- * <p/>
+ * <p>
  * This second example will also log the exceptions using our own category
  * <code>com.mycompany.app.unhandled<code> at WARN level. 
- * 
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: example2 -->
  * &lt;xwork&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
index afdd534..5ef3816 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
@@ -26,7 +26,7 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * An interceptor that handles setting the locale specified in a session as the locale for the current action request.
  * In addition, this interceptor will look for a specific HTTP request parameter and set the locale to whatever value is
  * provided. This means that this interceptor can be used to allow for your application to dynamically change the locale
@@ -35,45 +35,38 @@ import java.util.Map;
  * be able to set his or her language preference at any point. The locale parameter is removed during the execution of
  * this interceptor, ensuring that properties aren't set on an action (such as request_locale) that have no typical
  * corresponding setter in your action.
- * <p/>
- * <p/>For example, using the default parameter name, a request to <b>foo.action?request_locale=en_US</b>, then the
+ * </p>
+ *
+ * <p>
+ * For example, using the default parameter name, a request to <b>foo.action?request_locale=en_US</b>, then the
  * locale for US English is saved in the user's session and will be used for all future requests.
- * <p/>
- if there is no locale set (for example with the first visit), the interceptor uses the browser locale.
- * <p/>
+ * If there is no locale set (for example with the first visit), the interceptor uses the browser locale.
+ * </p>
+ *
  * <!-- END SNIPPET: description -->
- * <p/>
- * <p/> <u>Interceptor parameters:</u>
- * <p/>
+ * <p><u>Interceptor parameters:</u></p>
  * <!-- START SNIPPET: parameters -->
- * <p/>
+ *
  * <ul>
- * <p/>
  * <li>parameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to and save
  * in the session. By default this is <b>request_locale</b></li>
- * <p/>
  * <li>requestOnlyParameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to
  * for the current request only, without saving it in the session. By default this is <b>request_only_locale</b></li>
- * <p/>
  * <li>attributeName (optional) - the name of the session key to store the selected locale. By default this is
  * <b>WW_TRANS_I18N_LOCALE</b></li>
- * <p/>
  * </ul>
- * <p/>
  * <!-- END SNIPPET: parameters -->
- * <p/>
- * <p/> <u>Extending the interceptor:</u>
- * <p/>
- * <p/>
- * <p/>
+ *
+ * <p><u>Extending the interceptor:</u></p>
+ *
  * <!-- START SNIPPET: extending -->
- * <p/>
+ * <p>
  * There are no known extensions points for this interceptor.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: extending -->
- * <p/>
- * <p/> <u>Example code:</u>
- * <p/>
+ *
+ * <p><u>Example code:</u></p>
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;action name="someAction" class="com.examples.SomeAction"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
index 4266236..3054a90 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
@@ -22,124 +22,128 @@ import java.io.Serializable;
 
 /**
  * <!-- START SNIPPET: introduction -->
- * <p/>
+ *
+ * <p>
  * An interceptor is a stateless class that follows the interceptor pattern, as
  * found in {@link  javax.servlet.Filter} and in AOP languages.
- * <p/>
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
  * Interceptors are objects that dynamically intercept Action invocations.
  * They provide the developer with the opportunity to define code that can be executed
  * before and/or after the execution of an action. They also have the ability
  * to prevent an action from executing. Interceptors provide developers a way to
- * encapulate common functionality in a re-usable form that can be applied to
+ * encapsulate common functionality in a re-usable form that can be applied to
  * one or more Actions.
- * <p/>
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
  * Interceptors <b>must</b> be stateless and not assume that a new instance will be created for each request or Action.
  * Interceptors may choose to either short-circuit the {@link ActionInvocation} execution and return a return code
  * (such as {@link com.opensymphony.xwork2.Action#SUCCESS}), or it may choose to do some processing before
  * and/or after delegating the rest of the procesing using {@link ActionInvocation#invoke()}.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: introduction -->
- * <p/>
- * <p/>
- * <p/>
+ *
  * <!-- START SNIPPET: parameterOverriding -->
- * <p/>
- * Interceptor's parameter could be overriden through the following ways :-
- * <p/>
- * <p/>
- * <p/>
+ * <p>
+ * Interceptor's parameter could be overridden through the following ways :-
+ * </p>
+
  * <b>Method 1:</b>
  * <pre>
- * &lt;action name="myAction" class="myActionClass"&gt;
- *     &lt;interceptor-ref name="exception"/&gt;
- *     &lt;interceptor-ref name="alias"/&gt;
- *     &lt;interceptor-ref name="params"/&gt;
- *     &lt;interceptor-ref name="servletConfig"/&gt;
- *     &lt;interceptor-ref name="prepare"/&gt;
- *     &lt;interceptor-ref name="i18n"/&gt;
- *     &lt;interceptor-ref name="chain"/&gt;
- *     &lt;interceptor-ref name="modelDriven"/&gt;
- *     &lt;interceptor-ref name="fileUpload"/&gt;
- *     &lt;interceptor-ref name="staticParams"/&gt;
- *     &lt;interceptor-ref name="params"/&gt;
- *     &lt;interceptor-ref name="conversionError"/&gt;
- *     &lt;interceptor-ref name="validation"&gt;
- *     &lt;param name="excludeMethods"&gt;myValidationExcudeMethod&lt;/param&gt;
+ * &lt;action name=&quot;myAction&quot; class=&quot;myActionClass&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;exception&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;alias&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;servletConfig&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;prepare&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;i18n&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;chain&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;modelDriven&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;fileUpload&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;staticParams&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;conversionError&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;validation&quot;&gt;
+ *     &lt;param name=&quot;excludeMethods&quot;&gt;myValidationExcudeMethod&lt;/param&gt;
  *     &lt;/interceptor-ref&gt;
- *     &lt;interceptor-ref name="workflow"&gt;
- *     &lt;param name="excludeMethods"&gt;myWorkflowExcludeMethod&lt;/param&gt;
+ *     &lt;interceptor-ref name=&quot;workflow&quot;&gt;
+ *     &lt;param name=&quot;excludeMethods&quot;&gt;myWorkflowExcludeMethod&lt;/param&gt;
  *     &lt;/interceptor-ref&gt;
  * &lt;/action&gt;
  * </pre>
- * <p/>
+ *
  * <b>Method 2:</b>
  * <pre>
- * &lt;action name="myAction" class="myActionClass"&gt;
- *   &lt;interceptor-ref name="defaultStack"&gt;
- *     &lt;param name="validation.excludeMethods"&gt;myValidationExcludeMethod&lt;/param&gt;
- *     &lt;param name="workflow.excludeMethods"&gt;myWorkflowExcludeMethod&lt;/param&gt;
+ * &lt;action name=&quot;myAction&quot; class=&quot;myActionClass&quot;&gt;
+ *   &lt;interceptor-ref name=&quot;defaultStack&quot;&gt;
+ *     &lt;param name=&quot;validation.excludeMethods&quot;&gt;myValidationExcludeMethod&lt;/param&gt;
+ *     &lt;param name=&quot;workflow.excludeMethods&quot;&gt;myWorkflowExcludeMethod&lt;/param&gt;
  *   &lt;/interceptor-ref&gt;
  * &lt;/action&gt;
  * </pre>
- * <p/>
- * <p/>
- * <p/>
+ *
+ * <p>
  * In the first method, the whole default stack is copied and the parameter then
  * changed accordingly.
- * <p/>
- * <p/>
- * <p/>
+ * </p>
+ *
+ * <p>
  * In the second method, the 'interceptor-ref' refer to an existing
  * interceptor-stack, namely defaultStack in this example, and override the validator
  * and workflow interceptor excludeMethods typically in this case. Note that in the
  * 'param' tag, the name attribute contains a dot (.) the word before the dot(.)
  * specifies the interceptor name whose parameter is to be overridden and the word after
  * the dot (.) specifies the parameter itself. Essetially it is as follows :-
- * <p/>
+ * </p>
+ *
  * <pre>
  *    &lt;interceptor-name&gt;.&lt;parameter-name&gt;
  * </pre>
- * <p/>
+ * <p>
  * <b>Note</b> also that in this case the 'interceptor-ref' name attribute
  * is used to indicate an interceptor stack which makes sense as if it is referring
  * to the interceptor itself it would be just using Method 1 describe above.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: parameterOverriding -->
- * <p/>
- * <p/>
+ *
+ * <p>
  * <b>Nested Interceptor param overriding</b>
- * <p/>
+ * </p>
+ *
  * <!-- START SNIPPET: nestedParameterOverriding -->
- * <p/>
+ * <p>
  * Interceptor stack parameter overriding could be nested into as many level as possible, though it would
  * be advisable not to nest it too deep as to avoid confusion, For example,
+ * </p>
  * <pre>
- * &lt;interceptor name="interceptor1" class="foo.bar.Interceptor1" /&gt;
- * &lt;interceptor name="interceptor2" class="foo.bar.Interceptor2" /&gt;
- * &lt;interceptor name="interceptor3" class="foo.bar.Interceptor3" /&gt;
- * &lt;interceptor name="interceptor4" class="foo.bar.Interceptor4" /&gt;
- * &lt;interceptor-stack name="stack1"&gt;
- *     &lt;interceptor-ref name="interceptor1" /&gt;
+ * &lt;interceptor name=&quot;interceptor1&quot; class=&quot;foo.bar.Interceptor1&quot; /&gt;
+ * &lt;interceptor name=&quot;interceptor2&quot; class=&quot;foo.bar.Interceptor2&quot; /&gt;
+ * &lt;interceptor name=&quot;interceptor3&quot; class=&quot;foo.bar.Interceptor3&quot; /&gt;
+ * &lt;interceptor name=&quot;interceptor4&quot; class=&quot;foo.bar.Interceptor4&quot; /&gt;
+ * &lt;interceptor-stack name=&quot;stack1&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;interceptor1&quot; /&gt;
  * &lt;/interceptor-stack&gt;
- * &lt;interceptor-stack name="stack2"&gt;
- *     &lt;interceptor-ref name="intercetor2" /&gt;
- *     &lt;interceptor-ref name="stack1" /&gt;
+ * &lt;interceptor-stack name=&quot;stack2&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;intercetor2&quot; /&gt;
+ *     &lt;interceptor-ref name=&quot;stack1&quot; /&gt;
  * &lt;/interceptor-stack&gt;
- * &lt;interceptor-stack name="stack3"&gt;
- *     &lt;interceptor-ref name="interceptor3" /&gt;
- *     &lt;interceptor-ref name="stack2" /&gt;
+ * &lt;interceptor-stack name=&quot;stack3&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;interceptor3&quot; /&gt;
+ *     &lt;interceptor-ref name=&quot;stack2&quot; /&gt;
  * &lt;/interceptor-stack&gt;
- * &lt;interceptor-stack name="stack4"&gt;
- *     &lt;interceptor-ref name="interceptor4" /&gt;
- *     &lt;interceptor-ref name="stack3" /&gt;
+ * &lt;interceptor-stack name=&quot;stack4&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;interceptor4&quot; /&gt;
+ *     &lt;interceptor-ref name=&quot;stack3&quot; /&gt;
  *  &lt;/interceptor-stack&gt;
  * </pre>
+ *
+ * <p>
  * Assuming the interceptor has the following properties
- * <table border="1" width="100%">
+ * </p>
+ *
+ * <table border=&quot;1&quot; width=&quot;100%&quot;>
  * <tr>
  * <td>Interceptor</td>
  * <td>property</td>
@@ -161,30 +165,33 @@ import java.io.Serializable;
  * <td>param4</td>
  * </tr>
  * </table>
- * We could override them as follows :-
+ *
+ * <p>
+ * We could override them as follows :
+ * </p>
+ *
  * <pre>
  *    &lt;action ... &gt;
  *        &lt;!-- to override parameters of interceptor located directly in the stack  --&gt;
- *        &lt;interceptor-ref name="stack4"&gt;
- *           &lt;param name="interceptor4.param4"&gt; ... &lt;/param&gt;
+ *        &lt;interceptor-ref name=&quot;stack4&quot;&gt;
+ *           &lt;param name=&quot;interceptor4.param4&quot;&gt; ... &lt;/param&gt;
  *        &lt;/interceptor-ref&gt;
  *    &lt;/action&gt;
- * <p/>
+ *
  *    &lt;action ... &gt;
  *        &lt;!-- to override parameters of interceptor located under nested stack --&gt;
- *        &lt;interceptor-ref name="stack4"&gt;
- *            &lt;param name="stack3.interceptor3.param3"&gt; ... &lt;/param&gt;
- *            &lt;param name="stack3.stack2.interceptor2.param2"&gt; ... &lt;/param&gt;
- *            &lt;param name="stack3.stack2.stack1.interceptor1.param1"&gt; ... &lt;/param&gt;
+ *        &lt;interceptor-ref name=&quot;stack4&quot;&gt;
+ *            &lt;param name=&quot;stack3.interceptor3.param3&quot;&gt; ... &lt;/param&gt;
+ *            &lt;param name=&quot;stack3.stack2.interceptor2.param2&quot;&gt; ... &lt;/param&gt;
+ *            &lt;param name=&quot;stack3.stack2.stack1.interceptor1.param1&quot;&gt; ... &lt;/param&gt;
  *        &lt;/interceptor-ref&gt;
  *    &lt;/action&gt;
  *  </pre>
- * <p/>
+ *
  * <!-- END SNIPPET: nestedParameterOverriding -->
  *
  * @author Jason Carreira
  * @author tmjee
- * @version $Date$ $Id$
  */
 public interface Interceptor extends Serializable {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
index c82532f..e48d3ea 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
@@ -22,10 +22,11 @@ import org.apache.logging.log4j.Logger;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * This interceptor logs the start and end of the execution an action (in English-only, not internationalized).
  * <br/>
  * <b>Note:</b>: This interceptor will log at <tt>INFO</tt> level.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: description -->
  *
  * <!-- START SNIPPET: parameters -->
@@ -39,17 +40,17 @@ import org.apache.logging.log4j.Logger;
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;!-- prints out a message before and after the immediate action execution --&gt;
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="completeStack"/&gt;
- *     &lt;interceptor-ref name="logger"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;completeStack&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;logger&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  *
  * &lt;!-- prints out a message before any more interceptors continue and after they have finished --&gt;
- * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
- *     &lt;interceptor-ref name="logger"/&gt;
- *     &lt;interceptor-ref name="completeStack"/&gt;
- *     &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+ * &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+ *     &lt;interceptor-ref name=&quot;logger&quot;/&gt;
+ *     &lt;interceptor-ref name=&quot;completeStack&quot;/&gt;
+ *     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
  * &lt;/action&gt;
  * <!-- END SNIPPET: example -->
  * </pre>


[3/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
index 47916d0..9d28a55 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
@@ -26,9 +26,7 @@ import org.apache.commons.lang3.StringUtils;
  * characters.  The "trim" parameter determines whether it will {@link String#trim() trim} the
  * String before performing the length check.  If unspecified, the String will be trimmed.
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * <p/>
- * <p/>
+ *
  * <!-- START SNIPPET: parameters -->
  * <ul>
  * <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li>
@@ -40,11 +38,11 @@ import org.apache.commons.lang3.StringUtils;
  * <li>trimExpression - (Optional) String. Defines th trim param as an OGNL expression</li>
  * </ul>
  * <!-- END SNIPPET: parameters -->
- * <p/>
+ *
  * <!-- START SNIPPET: parameters-warning -->
  * Do not use ${minLengthExpression}, ${maxLengthExpression} and ${trimExpression} as an expression as this will turn into infinitive loop!
  * <!-- END SNIPPET: parameters-warning -->
- * <p/>
+ *
  * <pre>
  * <!--START SNIPPET: example -->
  * &lt;validators&gt;
@@ -83,7 +81,6 @@ import org.apache.commons.lang3.StringUtils;
  * @author Jason Carreira
  * @author Mark Woon
  * @author tmjee
- * @version $Date$ $Id$
  */
 public class StringLengthFieldValidator extends FieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java
index e0be5f0..1a99e4f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/VisitorFieldValidator.java
@@ -28,14 +28,17 @@ import java.util.Collection;
 
 /**
  * <!-- START SNIPPET: javadoc -->
+ *
+ * <p>
  * The VisitorFieldValidator allows you to forward validation to object
  * properties of your action using the object's own validation files.  This
  * allows you to use the ModelDriven development pattern and manage your
  * validations for your models in one place, where they belong, next to your
  * model classes.  The VisitorFieldValidator can handle either simple Object
  * properties, Collections of Objects, or Arrays.
+ * </p>
+ *
  * <!-- END SNIPPET: javadoc -->
- * <p/>
  *
  * <!-- START SNIPPET: parameters -->
  * <ul>
@@ -75,7 +78,6 @@ import java.util.Collection;
  *
  * @author Jason Carreira
  * @author Rainer Hermanns
- * @version $Date$ $Id$
  */
 public class VisitorFieldValidator extends FieldValidatorSupport {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/StrutsStatics.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/StrutsStatics.java b/core/src/main/java/org/apache/struts2/StrutsStatics.java
index af5796e..d204f52 100644
--- a/core/src/main/java/org/apache/struts2/StrutsStatics.java
+++ b/core/src/main/java/org/apache/struts2/StrutsStatics.java
@@ -23,19 +23,22 @@ package org.apache.struts2;
 
 
 /**
+ * <p>
  * Constants used by Struts. The constants can be used to get or set objects
  * out of the action context or other collections.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * Example:
- * <ul><code>ActionContext.getContext().put(HTTP_REQUEST, request);</code></ul>
- * <p/>
+ *
+ * <code>ActionContext.getContext().put(HTTP_REQUEST, request);</code>
+ *
  * or
- * <p/>
- * <ul><code>
+ *
+ * <code>
  * ActionContext context = ActionContext.getContext();<br>
- * HttpServletRequest request = (HttpServletRequest)context.get(HTTP_REQUEST);</code></ul>
+ * HttpServletRequest request = (HttpServletRequest)context.get(HTTP_REQUEST);</code>
+ * </p>
  */
 public interface StrutsStatics {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/ActionError.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ActionError.java b/core/src/main/java/org/apache/struts2/components/ActionError.java
index d005333..4ce34a3 100644
--- a/core/src/main/java/org/apache/struts2/components/ActionError.java
+++ b/core/src/main/java/org/apache/struts2/components/ActionError.java
@@ -40,7 +40,7 @@ import java.util.List;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/ActionMessage.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ActionMessage.java b/core/src/main/java/org/apache/struts2/components/ActionMessage.java
index 10ba59f..c62dd5d 100644
--- a/core/src/main/java/org/apache/struts2/components/ActionMessage.java
+++ b/core/src/main/java/org/apache/struts2/components/ActionMessage.java
@@ -40,7 +40,7 @@ import java.util.List;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Anchor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Anchor.java b/core/src/main/java/org/apache/struts2/components/Anchor.java
index 5819294..118ae6f 100644
--- a/core/src/main/java/org/apache/struts2/components/Anchor.java
+++ b/core/src/main/java/org/apache/struts2/components/Anchor.java
@@ -39,13 +39,14 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p/>
+ * <p>
  * A tag that creates a HTML &lt;a &gt;.This tag supports the same attributes as the "url" tag,
- * including nested parameters using the "param" tag.<p/>
+ * including nested parameters using the "param" tag.
+ * </p>
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * <p/> <b>Examples</b>
- * <p/>
+ *
+ * <p><b>Examples</b></p>
+ *
  * <pre>
  * <!-- START SNIPPET: example1 -->
  * &lt;s:a id="link1" href="/do-it.action"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Bean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Bean.java b/core/src/main/java/org/apache/struts2/components/Bean.java
index 2039d95..bb0b913 100644
--- a/core/src/main/java/org/apache/struts2/components/Bean.java
+++ b/core/src/main/java/org/apache/struts2/components/Bean.java
@@ -36,10 +36,10 @@ import java.io.Writer;
  * <!-- START SNIPPET: javadoc -->
  * <p>Instantiates a class that conforms to the JavaBeans specification. This tag has a body which can contain
  * a number of {@link Param} elements to set any mutator methods on that class.</p>
- * <p/>
+ *
  * <p>If the var attribute is set on the BeanTag, it will place the instantiated bean into the
  * stack's Context.</p>
- * <p/>
+ *
  * <!-- END SNIPPET: javadoc -->
  *
  *
@@ -52,7 +52,7 @@ import java.io.Writer;
  *
  *
  * <p>Examples:</p>
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: examples -->
  * &lt;-- in freemarker form --&gt;
@@ -68,16 +68,16 @@ import java.io.Writer;
  * &lt;/s:bean&gt;
  * <!-- END SNIPPET: examples -->
  * </pre>
- * <p/>
+ *
  *
  * <!-- START SNIPPET: examplesdescription -->
  * <p>This example instantiates a bean called SimpleCounter and sets the foo property (setFoo('BAR')). The
  * SimpleCounter object is then pushed onto the Valuestack, which means that we can call its accessor methods (getFoo())
  * with the Property tag and get their values.</p>
- * <p/>
+ *
  * <p>In the above example, the id has been set to a value of <i>counter</i>. This means that the SimpleCounter class
  * will be placed into the stack's context. You can access the SimpleCounter class using a Struts tag:</p>
- * <p/>
+ *
  * <pre>
  * &lt;-- jsp form --&gt;
  * &lt;s:property value="#counter" /&gt;
@@ -85,7 +85,7 @@ import java.io.Writer;
  * &lt;-- freemarker form --&gt;
  * [s:property value="#counter.foo"/]
  * </pre>
- * <p/>
+ *
  * <p>In the property tag example, the <i>#</i> tells Ognl to search the context for the SimpleCounter class which has
  * an id(key) of <i>counter</i></p>
  * <!-- END SNIPPET: examplesdescription -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Checkbox.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Checkbox.java b/core/src/main/java/org/apache/struts2/components/Checkbox.java
index e1765b2..a9f0fdc 100644
--- a/core/src/main/java/org/apache/struts2/components/Checkbox.java
+++ b/core/src/main/java/org/apache/struts2/components/Checkbox.java
@@ -34,7 +34,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * Renders an HTML input element of type checkbox, populated by the specified property from the ValueStack.
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/CheckboxList.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/CheckboxList.java b/core/src/main/java/org/apache/struts2/components/CheckboxList.java
index e83c8be..fde4037 100644
--- a/core/src/main/java/org/apache/struts2/components/CheckboxList.java
+++ b/core/src/main/java/org/apache/struts2/components/CheckboxList.java
@@ -36,7 +36,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/ComboBox.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ComboBox.java b/core/src/main/java/org/apache/struts2/components/ComboBox.java
index d7ac8dc..99ae38d 100644
--- a/core/src/main/java/org/apache/struts2/components/ComboBox.java
+++ b/core/src/main/java/org/apache/struts2/components/ComboBox.java
@@ -34,21 +34,27 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
+ * <p>
  * The combo box is basically an HTML INPUT of type text and HTML SELECT grouped together to give you a combo box
  * functionality. You can place text in the INPUT control by using the SELECT control or type it in directly in
- * the text field.<p/>
+ * the text field.
+ * </p>
  *
+ * <p>
  * In this example, the SELECT will be populated from id=year attribute. Counter is itself an Iterator. It will
  * span from first to last. The population is done via javascript, and requires that this tag be surrounded by a
- * &lt;form&gt;.<p/>
+ * &lt;form&gt;.
+ * </p>
  *
+ * <p>
  * Note that unlike the &lt;s:select/&gt; tag, there is no ability to define the individual &lt;option&gt; tags' id attribute
  * or content separately. Each of these is simply populated from the toString() method of the list item. Presumably
  * this is because the select box isn't intended to actually submit useful data, but to assist the user in filling
- * out the text field.<p/>
+ * out the text field.
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Component.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Component.java b/core/src/main/java/org/apache/struts2/components/Component.java
index b34178d..2fd8c14 100644
--- a/core/src/main/java/org/apache/struts2/components/Component.java
+++ b/core/src/main/java/org/apache/struts2/components/Component.java
@@ -51,8 +51,8 @@ import java.util.concurrent.ConcurrentMap;
 
 /**
  * Base class to extend for UI components.
- * <p/>
- * This class is a good extension point when building reuseable UI components.
+ * <br>
+ * This class is a good extension point when building reusable UI components.
  *
  */
 public class Component {
@@ -116,8 +116,8 @@ public class Component {
         this.urlHelper = urlHelper;
     }
     /**
-     * Gets the OGNL value stack assoicated with this component.
-     * @return the OGNL value stack assoicated with this component.
+     * Gets the OGNL value stack associated with this component.
+     * @return the OGNL value stack associated with this component.
      */
     public ValueStack getStack() {
         return stack;
@@ -150,7 +150,7 @@ public class Component {
     /**
      * Callback for the end tag of this component.
      * Should the body be evaluated again?
-     * <p/>
+     * <br>
      * <b>NOTE:</b> will pop component stack.
      * @param writer  the output writer.
      * @param body    the rendered body.
@@ -163,7 +163,7 @@ public class Component {
     /**
      * Callback for the start tag of this component.
      * Should the body be evaluated again?
-     * <p/>
+     * <br>
      * <b>NOTE:</b> has a parameter to determine to pop the component stack.
      * @param writer  the output writer.
      * @param body    the rendered body.
@@ -225,7 +225,7 @@ public class Component {
 
     /**
      * Evaluates the OGNL stack to find a String value.
-     * <p/>
+     * <br>
      * If the given expression is <tt>null</tt/> a error is logged and a <code>RuntimeException</code> is thrown
      * constructed with a messaged based on the given field and errorMsg parameter.
      *
@@ -245,7 +245,7 @@ public class Component {
 
     /**
      * Constructs a <code>RuntimeException</code> based on the given information.
-     * <p/>
+     * <br>
      * A message is constructed and logged at ERROR level before being returned
      * as a <code>RuntimeException</code>.
      * @param field   field name used when throwing <code>RuntimeException</code>.
@@ -290,7 +290,7 @@ public class Component {
 
     /**
      * Is the altSyntax enabled? [TRUE]
-     * <p/>
+     * <br>
      * See <code>struts.properties</code> where the altSyntax flag is defined.
      */
     public boolean altSyntax() {
@@ -324,12 +324,16 @@ public class Component {
 	}
 
     /**
+     * <p>
      * Evaluates the OGNL stack to find an Object value.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Function just like <code>findValue(String)</code> except that if the
      * given expression is <tt>null</tt/> a error is logged and
      * a <code>RuntimeException</code> is thrown constructed with a
-     * messaged based on the given field and errorMsg paramter.
+     * messaged based on the given field and errorMsg parameter.
+     * </p>
      *
      * @param expr  OGNL expression.
      * @param field   field name used when throwing <code>RuntimeException</code>.
@@ -362,7 +366,7 @@ public class Component {
      * <code>expr</code> the portion wrapped with altSyntax (%{...})
      * against stack when altSyntax is on, else the whole <code>expr</code>
      * is evaluated against the stack.
-     * <p/>
+     * <br>
      * This method only supports the altSyntax. So this should be set to true.
      * @param expr  OGNL expression.
      * @param toType  the type expected to find.
@@ -490,7 +494,7 @@ public class Component {
 
     /**
      * Adds the given key and value to this component's own parameter.
-     * <p/>
+     * <br>
      * If the provided key is <tt>null</tt> nothing happens.
      * If the provided value is <tt>null</tt> any existing parameter with
      * the given key name is removed.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Date.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Date.java b/core/src/main/java/org/apache/struts2/components/Date.java
index cedb6af..befc1eb 100644
--- a/core/src/main/java/org/apache/struts2/components/Date.java
+++ b/core/src/main/java/org/apache/struts2/components/Date.java
@@ -61,12 +61,12 @@ import java.util.TimeZone;
  *    <li>format</li>
  * </ul>
  *
- * <p/>
+ * <br>
  *
  * Following how the date component will work, depending on the value of nice attribute
  * (which by default is false) and the format attribute.
  *
- * <p/>
+ * <br>
  *
  * <b><u>Condition 1: With nice attribute as true</u></b>
  * <table border="1">
@@ -104,12 +104,12 @@ import java.util.TimeZone;
  *   </tr>
  * </table>
  *
- * <p/>
+ * <br>
  *
  * <b><u>Condition 2: With nice attribute as false and format attribute is specified eg. dd/MM/yyyyy </u></b>
  * <p>In this case the format attribute will be used.</p>
  *
- * <p/>
+ * <br>
  *
  * <b><u>Condition 3: With nice attribute as false and no format attribute is specified </u></b>
  * <table border="1">
@@ -126,7 +126,7 @@ import java.util.TimeZone;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <pre>
  *  <!-- START SNIPPET: example -->
  *  &lt;s:date name="person.birthday" format="dd/MM/yyyy" /&gt;
@@ -208,8 +208,8 @@ public class Date extends ContextBean {
     }
 
     /**
-     * Calculates the difference in time from now to the given date, and outputs it nicely. <p/> An example: <br/>Now =
-     * 2006/03/12 13:38:00, date = 2006/03/12 15:50:00 will output "in 1 hour, 12 minutes".
+     * Calculates the difference in time from now to the given date, and outputs it nicely. <br> An example: <br>
+     * Now = 2006/03/12 13:38:00, date = 2006/03/12 15:50:00 will output "in 1 hour, 12 minutes".
      *
      * @param tp   text provider
      * @param date the date

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java b/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java
index f6b4b8d..22e53fa 100644
--- a/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/DoubleListUIBean.java
@@ -29,15 +29,16 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.Map;
 
 /**
+ * <p>
  * DoubleListUIBean is the standard superclass of all Struts double list handling components.
- *
- * <p/>
+ * </p>
  *
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Note that the doublelistkey and doublelistvalue attribute will default to "key" and "value"
  * respectively only when the doublelist attribute is evaluated to a Map or its decendant.
  * Other thing else, will result in doublelistkey and doublelistvalue to be null and not used.
+ * </p>
  *
  * <!-- END SNIPPET: javadoc -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/DoubleSelect.java b/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
index 4b0e1ce..539d3ae 100644
--- a/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
+++ b/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
@@ -33,7 +33,7 @@ import javax.servlet.http.HttpServletResponse;
  * Renders two HTML select elements with second one changing displayed values depending on selected entry of first one.
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/FieldError.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/FieldError.java b/core/src/main/java/org/apache/struts2/components/FieldError.java
index 581ca46..809253a 100644
--- a/core/src/main/java/org/apache/struts2/components/FieldError.java
+++ b/core/src/main/java/org/apache/struts2/components/FieldError.java
@@ -39,7 +39,7 @@ import java.util.List;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -74,14 +74,13 @@ import java.util.List;
  * </pre>
  *
  *
- * <p/> <b>Description</b><p/>
- *
+ * <p><b>Description</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: description -->
  *
- * Example 1: display all field errors<p/>
- * Example 2: display field errors only for 'field1' and 'field2'<p/>
+ * Example 1: display all field errors<br>
+ * Example 2: display field errors only for 'field1' and 'field2'<br>
  *
  * <!-- END SNIPPET: description -->
  * </pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/File.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/File.java b/core/src/main/java/org/apache/struts2/components/File.java
index d98df90..752c31c 100644
--- a/core/src/main/java/org/apache/struts2/components/File.java
+++ b/core/src/main/java/org/apache/struts2/components/File.java
@@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
  * Renders an HTML file input element.
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Form.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Form.java b/core/src/main/java/org/apache/struts2/components/Form.java
index 5e85adf..69ad61e 100644
--- a/core/src/main/java/org/apache/struts2/components/Form.java
+++ b/core/src/main/java/org/apache/struts2/components/Form.java
@@ -46,14 +46,19 @@ import java.util.Set;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p/>
- * Renders HTML an input form.<p/>
- * <p/>
+ * <p>
+ * Renders HTML an input form.
+ * </p>
+ *
+ * <p>
  * The remote form allows the form to be submitted without the page being refreshed. The results from the form
- * can be inserted into any HTML element on the page.<p/>
- * <p/>
- * NOTE:<p/>
- * The order / logic in determining the posting url of the generated HTML form is as follows:-
+ * can be inserted into any HTML element on the page.
+ * </p>
+ * <p>
+ * NOTE:<br>
+ * The order / logic in determining the posting url of the generated HTML form is as follows:
+ * </p>
+ *
  * <ol>
  * <li>
  * If the action attribute is not specified, then the current request will be used to
@@ -61,7 +66,7 @@ import java.util.Set;
  * </li>
  * <li>
  * If the action is given, Struts will try to obtain an ActionConfig. This will be
- * successfull if the action attribute is a valid action alias defined struts.xml.
+ * successful if the action attribute is a valid action alias defined struts.xml.
  * </li>
  * <li>
  * If the action is given and is not an action alias defined in struts.xml, Struts
@@ -69,16 +74,16 @@ import java.util.Set;
  * from it and using UrlHelper to generate the final url.
  * </li>
  * </ol>
- * <p/>
+ *
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * <p/> <b>Examples</b>
- * <p/>
+ *
+ * <p><b>Examples</b></p>
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
- * <p/>
+ *
  * &lt;s:form ... /&gt;
- * <p/>
+ *
  * <!-- END SNIPPET: example -->
  * </pre>
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/GenericUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/GenericUIBean.java b/core/src/main/java/org/apache/struts2/components/GenericUIBean.java
index 9521e1f..53cbef0 100644
--- a/core/src/main/java/org/apache/struts2/components/GenericUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/GenericUIBean.java
@@ -31,41 +31,50 @@ import com.opensymphony.xwork2.util.ValueStack;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Renders an custom UI widget using the specified templates. Additional objects can be passed in to the template
- * using the param tags.<p/>
- *
- * <b>Freemarker:</b><p/>
- * Objects provided can be retrieve from within the template via $parameters._paramname_.<p/>
+ * using the param tags.
+ * </p>
  *
- * <b>Jsp:</b><p/>
- * Objects provided can be retrieve from within the template via &lt;s:property value="%{parameters._paramname_}" /&gt;<p/>
+ * <p><b>Freemarker:</b></p>
+ * <pre>Objects provided can be retrieve from within the template via $parameters._paramname_.</pre>
  *
+ * <p><b>JSP:</b></p>
+ * <pre>Objects provided can be retrieve from within the template via &lt;s:property value="%{parameters._paramname_}" /&gt;</pre>
  *
+ * <p>
  * In the bottom JSP and Velocity samples, two parameters are being passed in to the component. From within the
- * component, they can be accessed as:- <p/>
+ * component, they can be accessed as:
+ * </p>
  *
- * <b>Freemarker:</b><p/>
- * $parameters.get('key1') and $parameters.get('key2') or $parameters.key1 and $parameters.key2<p/>
+ * <p><b>Freemarker:</b></p>
+ * <pre>$parameters.get('key1') and $parameters.get('key2') or $parameters.key1 and $parameters.key2</pre>
  *
- * <b>Jsp:</b><p/>
+ * <p><b>JSP:</b></p>
+ * <pre>
  * &lt;s:property value="%{parameters.key1}" /&gt; and &lt;s:property value="%{'parameters.key2'}" /&gt; or
- * &lt;s:property value="%{parameters.get('key1')}" /&gt; and &lt;s:property value="%{parameters.get('key2')}" /&gt;<p/>
+ * &lt;s:property value="%{parameters.get('key1')}" /&gt; and &lt;s:property value="%{parameters.get('key2')}" /&gt;
+ * </pre>
  *
+ * <p>
  * Currently, your custom UI components can be written in Velocity, JSP, or Freemarker, and the correct rendering
- * engine will be found based on file extension.<p/>
+ * engine will be found based on file extension.
+ * </p>
  *
+ * <p>
  * <b>Remember:</b> the value params will always be resolved against the ValueStack so if you mean to pass a
  * string literal to your component, make sure to wrap it in single quotes i.e. value="'value1'" (note the opening "' and closing '" otherwise, the the value
- * stack will search for an Object on the stack with a method of getValue1().<p/>
- *
+ * stack will search for an Object on the stack with a method of getValue1().
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
- * <pre>
  * <!-- START SNIPPET: example -->
+ * <p>
  * JSP
+ * </p>
+ * <pre>
  *     &lt;s:component template="/my/custom/component.vm"/&gt;
  *
  *       or
@@ -74,8 +83,12 @@ import com.opensymphony.xwork2.util.ValueStack;
  *       &lt;s:param name="key1" value="value1"/&gt;
  *       &lt;s:param name="key2" value="value2"/&gt;
  *     &lt;/s:component&gt;
+ * </pre>
  *
+ * <p>
  * Velocity
+ * </p>
+ * <pre>
  *     #s-component( "template=/my/custom/component.vm" )
  *
  *       or
@@ -84,8 +97,12 @@ import com.opensymphony.xwork2.util.ValueStack;
  *       #s-param( "name=key1" "value=value1" )
  *       #s-param( "name=key2" "value=value2" )
  *     #end
+ * </pre>
  *
+ * <p>
  * Freemarker
+ * </p>
+ * <pre>
  *    &lt;@s..component template="/my/custom/component.ftl" />
  *
  *      or
@@ -96,10 +113,8 @@ import com.opensymphony.xwork2.util.ValueStack;
  *    &lt;/@s..component&gt;
  *
  * <!-- END SNIPPET: example -->
- * </pre>
- *
- * <p/>
  *
+ * <p>
  * <b>NOTE:</b>
  * <!-- START SNIPPET: note -->
  *
@@ -108,7 +123,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * could not be picked up from the classpath.
  *
  * <!-- END SNIPPET: note -->
- *
+ * </p>
  */
 @StrutsTag(name="component", tldTagClass="org.apache.struts2.views.jsp.ui.ComponentTag", description="Render a custom ui widget")
 public class GenericUIBean extends UIBean {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Head.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Head.java b/core/src/main/java/org/apache/struts2/components/Head.java
index 756799c..2cc4710 100644
--- a/core/src/main/java/org/apache/struts2/components/Head.java
+++ b/core/src/main/java/org/apache/struts2/components/Head.java
@@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
  * Renders parts of the HEAD section for an HTML file. Encoding can be set using this tag.
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example1 -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Hidden.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Hidden.java b/core/src/main/java/org/apache/struts2/components/Hidden.java
index b513340..9a85d90 100644
--- a/core/src/main/java/org/apache/struts2/components/Hidden.java
+++ b/core/src/main/java/org/apache/struts2/components/Hidden.java
@@ -33,7 +33,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * Renders an HTML input element of type hidden, populated by the specified property from the ValueStack.
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/I18n.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/I18n.java b/core/src/main/java/org/apache/struts2/components/I18n.java
index 651fd5a..4db0e07 100644
--- a/core/src/main/java/org/apache/struts2/components/I18n.java
+++ b/core/src/main/java/org/apache/struts2/components/I18n.java
@@ -48,8 +48,6 @@ import java.util.ResourceBundle;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: params-->
  *
  * <ul>
@@ -58,9 +56,9 @@ import java.util.ResourceBundle;
  *
  * <!-- END SNIPPET: params -->
  *
- * <p/>
- *
+ * <p>
  * Example:
+ * </p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Include.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Include.java b/core/src/main/java/org/apache/struts2/components/Include.java
index 298829c..37e9c43 100644
--- a/core/src/main/java/org/apache/struts2/components/Include.java
+++ b/core/src/main/java/org/apache/struts2/components/Include.java
@@ -60,7 +60,7 @@ import java.util.*;
  * <!-- END SNIPPET: params -->
  *
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;-- One: --&gt;
@@ -313,15 +313,19 @@ public class Include extends Component {
 
 
     /**
+     * <p>
      * Simple wrapper to HTTPServletResponse that will allow getWriter()
      * and getResponse() to be called as many times as needed without
      * causing conflicts.
-     * <p/>
+     * </p>
+     * <p>
      * The underlying outputStream is a wrapper around
      * {@link PageOutputStream} which will store
      * the written content to a buffer.
-     * <p/>
+     * </p>
+     * <p>
      * This buffer can later be retrieved by calling {@link #getContent}.
+     * </p>
      *
      * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a>
      * @author <a href="mailto:scott@atlassian.com">Scott Farquhar</a>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java b/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java
index c137ec8..c401200 100644
--- a/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java
+++ b/core/src/main/java/org/apache/struts2/components/InputTransferSelect.java
@@ -35,28 +35,23 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Create a input transfer select component which is basically an text input
  * and  &lt;select ...&gt; tag with buttons in the middle of them allowing text
  * to be added to the transfer select. Will auto-select all its
  * elements upon its containing form submission.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
- *
  * <!-- START SNIPPET: notice -->
- *
+ * <p>
  * NOTE: The id and doubleId need not be supplied as they will generated provided
  * that the inputtransferselect tag is being used in a form tag. The generated id
  * and doubleId will be &lt;form_id&gt;_&lt;inputtransferselect_doubleName&gt; and
  * &lt;form_id&gt;_&lt;inputtransferselect_doubleName&gt; respectively.
- *
+ * </p>
  * <!-- END SNIPPET: notice -->
  *
- * <p/>
- *
  * <pre>
  * <!-- START SNIPPET: example -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/IteratorComponent.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/IteratorComponent.java b/core/src/main/java/org/apache/struts2/components/IteratorComponent.java
index 9ca073d..b62424f 100644
--- a/core/src/main/java/org/apache/struts2/components/IteratorComponent.java
+++ b/core/src/main/java/org/apache/struts2/components/IteratorComponent.java
@@ -38,7 +38,9 @@ import java.util.List;
  * <!-- START SNIPPET: javadoc -->
  *
  * <p>Iterator will iterate over a value. An iterable value can be any of: java.util.Collection, java.util.Iterator,
- * java.util.Enumeration, java.util.Map, or an array.</p> <p/> <!-- END SNIPPET: javadoc -->
+ * java.util.Enumeration, java.util.Map, or an array.</p>
+ *
+ * <!-- END SNIPPET: javadoc -->
  *
  * <!-- START SNIPPET: params -->
  *
@@ -96,12 +98,12 @@ import java.util.List;
  *   &lt;s:param name="day" value="'foo'"/&gt;
  *   &lt;s:param name="day" value="'bar'"/&gt;
  * &lt;/s:bean&gt;
- * <p/>
+ *
  * &lt;table border="0" cellspacing="0" cellpadding="1"&gt;
  * &lt;tr&gt;
  *   &lt;th&gt;Days of the week&lt;/th&gt;
  * &lt;/tr&gt;
- * <p/>
+ *
  * &lt;s:iterator value="#it.days" status="rowstatus"&gt;
  *   &lt;tr&gt;
  *     &lt;s:if test="#rowstatus.odd == true"&gt;
@@ -142,11 +144,10 @@ import java.util.List;
  *
  * <!-- END SNIPPET: example3code -->
  * </pre>
- * <p>
  *
  * <!-- START SNIPPET: example4description -->
  *
- * </p> The next example iterates over a an action collection and passes every iterator value to another action. The
+ * <p> The next example iterates over a an action collection and passes every iterator value to another action. The
  * trick here lies in the use of the '[0]' operator. It takes the current iterator value and passes it on to the edit
  * action. Using the '[0]' operator has the same effect as using &lt;s:property /&gt;. (The latter, however, does not
  * work from inside the param tag). </p>
@@ -172,7 +173,7 @@ import java.util.List;
  *
  * <!-- START SNIPPET: example5description -->
  *
- * </p>A loop that iterates 5 times
+ * <p>A loop that iterates 5 times</p>
  *
  * <!-- END SNIPPET: example5description -->
  *
@@ -189,10 +190,10 @@ import java.util.List;
  *
  * <!-- START SNIPPET: example6description -->
  *
- * </p>Another way to create a simple loop, similar to JSTL's 
+ * <p>Another way to create a simple loop, similar to JSTL's
  * &lt;c:forEach begin="..." end="..." ...&gt; is to use some 
  * OGNL magic, which provides some under-the-covers magic to 
- * make 0-n loops trivial. This example also loops five times.
+ * make 0-n loops trivial. This example also loops five times.</p>
  *
  * <!-- END SNIPPET: example6description -->
  *
@@ -208,7 +209,7 @@ import java.util.List;
  *
  *  <!-- START SNIPPET: example7description -->
  *
- * </p>A loop that iterates over a partial list
+ * <p>A loop that iterates over a partial list</p>
  *
  * <!-- END SNIPPET: example7description -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Label.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Label.java b/core/src/main/java/org/apache/struts2/components/Label.java
index 9a162f7..d0e9f39 100644
--- a/core/src/main/java/org/apache/struts2/components/Label.java
+++ b/core/src/main/java/org/apache/struts2/components/Label.java
@@ -36,12 +36,12 @@ import com.opensymphony.xwork2.util.ValueStack;
  * the rest of your UI controls.</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
- * <p/>
+ * <p><b>Examples</b></p>
+ *
  * <!-- START SNIPPET: exdescription -->
- * In this example, a label is rendered. The label is retrieved from a ResourceBundle via the key attribute
+ * <p>In this example, a label is rendered. The label is retrieved from a ResourceBundle via the key attribute
  * giving you an output of 'User Name: Ford.Prefect'. Assuming that i18n message userName corresponds
- * to 'User Name' and the action's getUserName() method returns 'Ford.Prefect'<p/>
+ * to 'User Name' and the action's getUserName() method returns 'Ford.Prefect'</p>
  * <!-- END SNIPPET: exdescription -->
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/ListUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ListUIBean.java b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
index cd11326..94be9d1 100644
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@ -34,16 +34,17 @@ import java.util.Collection;
 import java.util.Map;
 
 /**
+ * <p>
  * DoubleListUIBean is the standard superclass of all Struts list handling components.
- * <p/>
- * <p/>
- * <p/>
+ * </p>
+ *
+ *
  * <!-- START SNIPPET: javadoc -->
- * <p/>
+ * <p>
  * Note that the listkey and listvalue attribute will default to "key" and "value"
  * respectively only when the list attribute is evaluated to a Map or its decendant.
  * Everything else will result in listkey and listvalue to be null and not used.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  */
 public abstract class ListUIBean extends UIBean {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Number.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Number.java b/core/src/main/java/org/apache/struts2/components/Number.java
index 400ade8..a52bff2 100644
--- a/core/src/main/java/org/apache/struts2/components/Number.java
+++ b/core/src/main/java/org/apache/struts2/components/Number.java
@@ -38,23 +38,32 @@ import java.util.Currency;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p/>
+ * <p>
  * Format Number object in different ways.
+ * </p>
+ *
  * <p>
  * The number tag will allow you to format a Number in a quick and easy way,
  * based on the java.text.NumberFormat class. There are four basic number types,
  * a number, a currency, a percentage and an integer. If a currency is
  * specified, the number format will match the given currency. Further
  * parameters can be overridden as needed.
- * <p/>
+ * </p>
+ *
+ * <p>
  * If a type is not defined, it will finally fall back to the default
  * NumberFormat.getNumberInstance() formatting.
- * <p/>
+ * </p>
+ *
+ * <p>
  * <b>Note</b>: If the requested Number object isn't found on the stack, a blank
  * will be returned.
  * </p>
- * <p/>
- * Configurable attributes are :-
+ *
+ * <p>
+ * Configurable attributes are:
+ * </p>
+ *
  * <ul>
  * <li>name</li>
  * <li>currency - you can specify your own currency or as an OGNL expression</li>
@@ -67,10 +76,12 @@ import java.util.Currency;
  * <li>parseIntegerOnly - see NumberFormat.isParseIntegerOnly</li>
  * <li>roundingMode - see below</li>
  * </ul>
- * <p/>
- * <p/>
- * <p/>
- * Possible values for rounding mode are :-
+ *
+ *
+ * <p>
+ * Possible values for rounding mode are:
+ * </p>
+ *
  * <ul>
  * <li>ceiling</li>
  * <li>down</li>
@@ -81,14 +92,11 @@ import java.util.Currency;
  * <li>unnecessary</li>
  * <li>up</li>
  * </ul>
- * <p/>
- * <p/>
- * <p/>
+ *
  * <!-- END SNIPPET: javadoc -->
- * <p/>
- * <p/>
- * <b>Examples</b>
- * <p/>
+ *
+ * <p><b>Examples</b></p>
+ *
  * <pre>
  *  &lt;!-- START SNIPPET: example --&gt;
  *  &lt;s:number name=&quot;invoice.total&quot; type=&quot;currency&quot; currency=&quot;XYZ&quot; /&gt;
@@ -97,8 +105,10 @@ import java.util.Currency;
  *  &lt;s:number name=&quot;invoice.terms&quot; type=&quot;integer&quot; /&gt;
  *  &lt;!-- END SNIPPET: example --&gt;
  * </pre>
- * <p/>
+ *
+ * <p>
  * <code>Number</code>
+ * </p>
  */
 @StrutsTag(name = "number", tldBodyContent = "empty", tldTagClass = "org.apache.struts2.views.jsp.NumberTag", description = "Render a formatted number.")
 public class Number extends ContextBean {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/OptGroup.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/OptGroup.java b/core/src/main/java/org/apache/struts2/components/OptGroup.java
index d3e4d77..1be09e0 100644
--- a/core/src/main/java/org/apache/struts2/components/OptGroup.java
+++ b/core/src/main/java/org/apache/struts2/components/OptGroup.java
@@ -39,21 +39,18 @@ import org.apache.logging.log4j.LogManager;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Create a optgroup component which needs to resides within a select tag.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: notice -->
- *
+ * <p>
  * This component is to be used within a  Select component.
+ * </p>
  *
  * <!-- END SNIPPET: notice -->
  *
- * <p/>
- *
  * <pre>
  * <!-- START SNIPPET: example -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java b/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
index c704817..091dd64 100644
--- a/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
+++ b/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
@@ -35,28 +35,24 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Create a option transfer select component which is basically two &lt;select ...&gt;
  * tag with buttons in the middle of them allowing options in each of the
  * &lt;select ...&gt; to be moved between themselves. Will auto-select all its
  * elements upon its containing form submision.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
- *
  * <!-- START SNIPPET: notice -->
- *
+ * <p>
  * NOTE: The id and doubleId need not be supplied as they will generated provided
  * that the optiontransferselect tag is being used in a form tag. The generated id
  * and doubleId will be &lt;form_id&gt;_&lt;optiontransferselect_nameame&gt; and
  * &lt;form_id&gt;_&lt;optiontransferselect_doubleName&gt; respectively.
+ * </p>
  *
  * <!-- END SNIPPET: notice -->
  *
- * <p/>
- *
  * <pre>
  * <!-- START SNIPPET: example -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Param.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Param.java b/core/src/main/java/org/apache/struts2/components/Param.java
index 09178b4..a71cd64 100644
--- a/core/src/main/java/org/apache/struts2/components/Param.java
+++ b/core/src/main/java/org/apache/struts2/components/Param.java
@@ -31,16 +31,21 @@ import java.io.Writer;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p>This tag can be used to parameterize other tags.</p>
+ * <p>This tag can be used to parameterize other tags.<br>
  * The include tag and bean tag are examples of such tags.
- * <p/>
+ * </p>
+ *
+ * <p>
  * The parameters can be added with or without a name as key.
  * If the tag provides a name attribute the parameters are added using the
  * {@link Component#addParameter(String, Object) addParamter} method.
  * For unnamed parameters the Tag must implement the {@link UnnamedParametric} interface defined in
  * this class (e.g. The TextTag does this).
- * <p/>
+ * </p>
+ *
+ * <p>
  * This tag has the following two paramters.
+ * </p>
  * <!-- START SNIPPET: params -->
  * <ul>
  *      <li>name (String) - the name of the parameter</li>
@@ -48,7 +53,7 @@ import java.io.Writer;
  *      <li>suppressEmptyParameters (boolean) - whether to suppress empty parameters</li>
  * </ul>
  * <!-- END SNIPPET: params -->
- * <p/>
+ * <p>
  * <b>Note:</b>
  * When you declare the param tag, the value can be defined in either a <tt>value</tt> attribute or
  * as text between the start and end tag. Struts behaves a bit different according to these two situations.
@@ -58,9 +63,10 @@ import java.io.Writer;
  * <br/>In the first situation (A) the value would be evaluated to the stack as a <tt>java.lang.String</tt> object.
  * And in situation (B) the value would be evaluated to the stack as a <tt>java.lang.Object</tt> object.
  * <br/>For more information see <a href="https://issues.apache.org/jira/browse/WW-808">WW-808</a>.
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <!-- START SNIPPET: example -->
  * <pre>
  * &lt;ui:component&gt;
@@ -69,8 +75,11 @@ import java.io.Writer;
  *  &lt;ui:param name="context" value="[2]"/&gt;
  * &lt;/ui:component&gt;
  * </pre>
- * <p/>
+ *
+ * <p>
  * Whether to suppress empty parameters:
+ * </p>
+ *
  * <pre>
  * &lt;s:a action="eventAdd" accesskey="a"&gt;
  *   &lt;s:text name="title.heading.eventadd" /&gt;
@@ -81,13 +90,15 @@ import java.io.Writer;
  * &lt;/s:a&gt;
  * </pre>
  * <!-- END SNIPPET: example -->
- * <p/>
+ * <p>
  * <!-- START SNIPPET: exampledescription -->
  * where the key will be the identifier and the value the result of an OGNL expression run against the current
  * ValueStack.
  * <!-- END SNIPPET: exampledescription -->
- * <p/>
+ * </p>
+ * <p>
  * This second example demonstrates how the text tag can use parameters from this param tag.
+ * </p>
  * <!-- START SNIPPET: example2 -->
  * <pre>
  * &lt;s:text name="cart.total.cost"&gt;
@@ -95,7 +106,7 @@ import java.io.Writer;
  * &lt;/s:text&gt;
  * </pre>
  * <!-- END SNIPPET: example2 -->
- * <p/>
+ *
  *
  * @see Include
  * @see Bean
@@ -165,10 +176,13 @@ public class Param extends Component {
     }
     
     /**
+     * <p>
      * Tags can implement this to support nested param tags without the <tt>name</tt> attribute.
-     * <p/>
+     * </p>
+     * <p>
      * The {@link Text TextTag} uses this approach. For unnamed parameters an example is given in the class
      * javadoc for {@link Param ParamTag}.
+     * </p>
      */
     public interface UnnamedParametric {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Password.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Password.java b/core/src/main/java/org/apache/struts2/components/Password.java
index 47dc3dd..3f54b29 100644
--- a/core/src/main/java/org/apache/struts2/components/Password.java
+++ b/core/src/main/java/org/apache/struts2/components/Password.java
@@ -31,14 +31,16 @@ import com.opensymphony.xwork2.util.ValueStack;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * Render an HTML input tag of type password.</p>
+ * <p>Render an HTML input tag of type password.</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
- * <p/>
+ * <p><b>Examples</b></p>
+ *
  * <!-- START SNIPPET: exdescription -->
+ * <p>
  * In this example, a password control is displayed. For the label, we are calling ActionSupport's getText() to
- * retrieve password label from a resource bundle.<p/>
+ * retrieve password label from a resource bundle.
+ * </p>
  * <!-- END SNIPPET: exdescription -->
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Property.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Property.java b/core/src/main/java/org/apache/struts2/components/Property.java
index e0961a9..3a34b5b 100644
--- a/core/src/main/java/org/apache/struts2/components/Property.java
+++ b/core/src/main/java/org/apache/struts2/components/Property.java
@@ -33,15 +33,12 @@ import java.io.Writer;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Used to get the property of a <i>value</i>, which will default to the top of
  * the stack if none is specified.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
- *
  * <!-- START SNIPPET: params -->
  *
  * <ul>
@@ -69,10 +66,10 @@ import java.io.Writer;
  *
  * <pre>
  * <!-- START SNIPPET: exampledescription -->
- *
+ * <p>
  * Example 1 prints the result of myBean's getMyBeanProperty() method.
  * Example 2 prints the result of myBean's getMyBeanProperty() method and if it is null, print 'a default value' instead.
- *
+ * </p>
  * <!-- END SNIPPET: exampledescription -->
  * </pre>
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Push.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Push.java b/core/src/main/java/org/apache/struts2/components/Push.java
index d9ea583..f5f428b 100644
--- a/core/src/main/java/org/apache/struts2/components/Push.java
+++ b/core/src/main/java/org/apache/struts2/components/Push.java
@@ -40,7 +40,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <!-- END SNIPPET: params -->
  *
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <pre>
  * <!-- START SNIPPET: example1 -->
  * &lt;s:push value="user"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Radio.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Radio.java b/core/src/main/java/org/apache/struts2/components/Radio.java
index 4d1a745..bc46882 100644
--- a/core/src/main/java/org/apache/struts2/components/Radio.java
+++ b/core/src/main/java/org/apache/struts2/components/Radio.java
@@ -30,18 +30,19 @@ import javax.servlet.http.HttpServletResponse;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * Render a radio button input field.</p>
+ * <p>Render a radio button input field.</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
- * <p/>
+ * <p><b>Examples</b></p>
+ * <p>
  * <!-- START SNIPPET: exdescription -->
  * In this example, a radio control is displayed with a list of genders. The gender list is built from attribute
  * id=genders. The framework calls getGenders() which will return a Map. For examples using listKey and listValue attributes,
  * see the section select tag. The default selected one will be determined (in this case) by the getMale() method
- * in the action class which should retun a value similar to the key of the getGenters() map if that particular
- * gender is to be selected.<p/>
+ * in the action class which should return a value similar to the key of the getGenders() map if that particular
+ * gender is to be selected.
  * <!-- END SNIPPET: exdescription -->
+ * </p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;s:action name="GenderMap" var="genders"/&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Reset.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Reset.java b/core/src/main/java/org/apache/struts2/components/Reset.java
index 7b4dd21..e489de2 100644
--- a/core/src/main/java/org/apache/struts2/components/Reset.java
+++ b/core/src/main/java/org/apache/struts2/components/Reset.java
@@ -40,7 +40,7 @@ import javax.servlet.http.HttpServletResponse;
  * text shown on the button face, but has issues with Microsoft Internet Explorer at least up to 6.0
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Select.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Select.java b/core/src/main/java/org/apache/struts2/components/Select.java
index 5eb1f7d..a21aaa9 100644
--- a/core/src/main/java/org/apache/struts2/components/Select.java
+++ b/core/src/main/java/org/apache/struts2/components/Select.java
@@ -36,7 +36,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  *
@@ -65,8 +65,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <!-- END SNIPPET: example -->
  * </pre>
  *
- * <p/>
- *
+ * <p>
  * <!-- START SNIPPET: exnote -->
  *
  * Note: For any of the tags that use lists (select probably being the most ubiquitous), which uses the OGNL list
@@ -74,10 +73,10 @@ import com.opensymphony.xwork2.util.ValueStack;
  * the '01', '02', etc.) is typed. '1' is a char, '01' is a String, "1" is a String. This is important since if
  * the value returned by your "value" attribute is NOT the same type as the key in the "list" attribute, they
  * WILL NOT MATCH, even though their String values may be equivalent. If they don't match, nothing in your list
- * will be auto-selected.<p/>
+ * will be auto-selected.
  *
  * <!-- END SNIPPET: exnote -->
- *
+ * </p>
  */
 @StrutsTag(
     name="select",

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Set.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Set.java b/core/src/main/java/org/apache/struts2/components/Set.java
index c198a60..629563c 100644
--- a/core/src/main/java/org/apache/struts2/components/Set.java
+++ b/core/src/main/java/org/apache/struts2/components/Set.java
@@ -37,7 +37,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * <p>If the tag is used with body content, the evaluation of the value parameter is omitted. Instead, the String to
  * which the body evaluates is set as value for the scoped variable.</p>
  *
- * The scopes available are as follows :-
+ * <p>The scopes available are as follows:</p>
  * <ul>
  *   <li>application - the value will be set in application scope according to servlet spec. using the name as its key</li>
  *   <li>session - the value will be set in session scope according to servlet spec. using the name as key </li>
@@ -46,12 +46,13 @@ import com.opensymphony.xwork2.util.ValueStack;
  *   <li>action - the value will be set in the request scope and Struts' action context using the name as key</li>
  * </ul>
  *
- * NOTE:<p/>
+ * <p>
+ * NOTE:<br>
  * If no scope is specified, it will default to action scope.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Parameters</b>
+ * <p><b>Parameters</b></p>
  *
  * <!-- START SNIPPET: params -->
  *
@@ -68,7 +69,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: params -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Text.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Text.java b/core/src/main/java/org/apache/struts2/components/Text.java
index a26a2dd..513a2aa 100644
--- a/core/src/main/java/org/apache/struts2/components/Text.java
+++ b/core/src/main/java/org/apache/struts2/components/Text.java
@@ -37,27 +37,26 @@ import java.util.List;
 
 /**
  * <!-- START SNIPPET: javadoc -->
+ * <p>
  * Render a I18n text message.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * The message must be in a resource bundle
  * with the same name as the action that it is associated with. In practice
  * this means that you should create a properties file in the same package
  * as your Java class with the same name as your class, but with .properties
  * extension.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * If the named message is not found in a property file, then the body of the
  * tag will be used as default message. If no body is used, then the stack will
  * be searched, and if a value is returned, it will written to the output.
  * If no value is found on the stack, the key of the message will be written out.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- *
- *
  * <!-- START SNIPPET: params -->
  *
  * <ul>
@@ -66,9 +65,10 @@ import java.util.List;
  *
  * <!-- END SNIPPET: params -->
  *
- * <p/>
- *
+ * <p>
  * Example:
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: exdescription -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/TextArea.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/TextArea.java b/core/src/main/java/org/apache/struts2/components/TextArea.java
index 6e27687..968d42e 100644
--- a/core/src/main/java/org/apache/struts2/components/TextArea.java
+++ b/core/src/main/java/org/apache/struts2/components/TextArea.java
@@ -33,7 +33,7 @@ import javax.servlet.http.HttpServletResponse;
  * Render HTML textarea tag.</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/TextField.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/TextField.java b/core/src/main/java/org/apache/struts2/components/TextField.java
index cae5cda..a5b7365 100644
--- a/core/src/main/java/org/apache/struts2/components/TextField.java
+++ b/core/src/main/java/org/apache/struts2/components/TextField.java
@@ -30,14 +30,16 @@ import javax.servlet.http.HttpServletResponse;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * Render an HTML input field of type text</p>
+ * <p>Render an HTML input field of type text</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
- * <p/>
+ * <p><b>Examples</b></p>
+ * <p>
  * <!-- START SNIPPET: exdescription -->
  * In this example, a text control for the "user" property is rendered. The label is also retrieved from a ResourceBundle via the key attribute.
  * <!-- END SNIPPET: exdescription -->
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;s:textfield key="user" /&gt;
@@ -49,7 +51,6 @@ import javax.servlet.http.HttpServletResponse;
  * &lt;s:textfield name="user" label="User Name" /&gt;
  * <!-- END SNIPPET: example -->
  * </pre>
-
  */
 @StrutsTag(
     name="textfield",

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/Token.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/Token.java b/core/src/main/java/org/apache/struts2/components/Token.java
index dc9fa7b..65bedb0 100644
--- a/core/src/main/java/org/apache/struts2/components/Token.java
+++ b/core/src/main/java/org/apache/struts2/components/Token.java
@@ -40,7 +40,7 @@ import com.opensymphony.xwork2.util.ValueStack;
  * the unique token.</p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/UIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/UIBean.java b/core/src/main/java/org/apache/struts2/components/UIBean.java
index d30322a..cbceefc 100644
--- a/core/src/main/java/org/apache/struts2/components/UIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/UIBean.java
@@ -46,9 +46,10 @@ import java.util.List;
 import java.util.Map;
 
 /**
+ * <p>
  * UIBean is the standard superclass of all Struts UI components.
  * It defines common Struts and html properties all UI components should present for usage.
- *
+ * </p>
  * <!-- START SNIPPET: templateRelatedAttributes -->
  *
  * <table border="1">
@@ -99,8 +100,6 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: templateRelatedAttributes -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: generalAttributes -->
  *
  * <table border="1">
@@ -202,8 +201,6 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: generalAttributes -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: javascriptRelatedAttributes -->
  *
  * <table border="1">
@@ -299,8 +296,6 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: javascriptRelatedAttributes -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: tooltipattributes -->
  *
  * <table border="1">
@@ -345,33 +340,37 @@ import java.util.Map;
  *
  *
  * <!-- START SNIPPET: tooltipdescription -->
+ * <p>
  * <b>tooltipConfig is deprecated, use individual tooltip configuration attributes instead </b>
+ * </p>
  *
+ * <p>
  * Every Form UI component (in xhtml / css_xhtml or any other that extends them) can
  * have tooltips assigned to them. The Form component's tooltip related attribute, once
  * defined, will be applied to all form UI components that are created under it unless
- * explicitly overriden by having the Form UI component itself defined with their own tooltip attribute.
+ * explicitly overridden by having the Form UI component itself defined with their own tooltip attribute.
+ * </p>
  *
- * <p/>
- *
- * In Example 1, the textfield will inherit the tooltipDelay and tooltipIconPath attribte from
+ * <p>
+ * In Example 1, the textfield will inherit the tooltipDelay and tooltipIconPath attribute from
  * its containing form. In other words, although it doesn't define a tooltipIconPath
  * attribute, it will have that attribute inherited from its containing form.
+ * </p>
  *
- * <p/>
- *
- * In Example 2, the  textfield will inherite both the tooltipDelay and
+ * <p>
+ * In Example 2, the  textfield will inherit both the tooltipDelay and
  * tooltipIconPath attribute from its containing form, but the tooltipDelay
- * attribute is overriden at the textfield itself. Hence, the textfield actually will
+ * attribute is overridden at the textfield itself. Hence, the textfield actually will
  * have its tooltipIcon defined as /myImages/myIcon.gif, inherited from its containing form, and
  * tooltipDelay defined as 5000.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * Example 3, 4 and 5 show different ways of setting the tooltip configuration attribute.<br/>
  * <b>Example 3:</b> Set tooltip config through the body of the param tag<br/>
  * <b>Example 4:</b> Set tooltip config through the value attribute of the param tag<br/>
  * <b>Example 5:</b> Set tooltip config through the tooltip attributes of the component tag<br/>
+ * </p>
  *
  * <!-- END SNIPPET: tooltipdescription -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/URL.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/URL.java b/core/src/main/java/org/apache/struts2/components/URL.java
index a8eed35..4da6d64 100644
--- a/core/src/main/java/org/apache/struts2/components/URL.java
+++ b/core/src/main/java/org/apache/struts2/components/URL.java
@@ -81,7 +81,7 @@ import java.io.Writer;
  *
  * <!-- END SNIPPET: params -->
  *
- * <p/> <b>Examples</b>
+ * <p><b>Examples</b></p>
  * <pre>
  * <!-- START SNIPPET: example -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/UpDownSelect.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/UpDownSelect.java b/core/src/main/java/org/apache/struts2/components/UpDownSelect.java
index 150c5b5..210b419 100644
--- a/core/src/main/java/org/apache/struts2/components/UpDownSelect.java
+++ b/core/src/main/java/org/apache/struts2/components/UpDownSelect.java
@@ -35,15 +35,13 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * Create a Select component with buttons to move the elements in the select component
  * up and down. When the containing form is submited, its elements will be submitted in
  * the order they are arranged (top to bottom).
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
  * <pre>
  * <!-- START SNIPPET: example -->
  *
@@ -72,8 +70,6 @@ import java.util.Map;
  * <!-- END SNIPPET: example -->
  * </pre>
  *
- * @version $Date$ $Id$
- *
  * @s.tag name="updownselect" tld-body-content="JSP" tld-tag-class="org.apache.struts2.views.jsp.ui.UpDownSelectTag"
  * description="Render a up down select element"
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/template/Template.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/template/Template.java b/core/src/main/java/org/apache/struts2/components/template/Template.java
index 361dcb6..40c30fc 100644
--- a/core/src/main/java/org/apache/struts2/components/template/Template.java
+++ b/core/src/main/java/org/apache/struts2/components/template/Template.java
@@ -25,10 +25,10 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * A template.
- * <p/>
+ * <p>
  * A template is used as a model for rendering output.
  * This object contains basic common template information
+ * </p>
  */
 public class Template implements Cloneable {
     String dir;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java b/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
index bd8c3b4..a93d39e 100644
--- a/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
+++ b/core/src/main/java/org/apache/struts2/components/template/TemplateEngineManager.java
@@ -64,9 +64,14 @@ public class TemplateEngineManager {
     }
     
     /**
+     * <p>
      * Registers the given template engine.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * Will add the engine to the existing list of known engines.
+     * </p>
+     *
      * @param templateExtension  filename extension (eg. .jsp, .ftl, .vm).
      * @param templateEngine     the engine.
      */
@@ -79,11 +84,13 @@ public class TemplateEngineManager {
     }
 
     /**
+     * <p>
      * Gets the TemplateEngine for the template name. If the template name has an extension (for instance foo.jsp), then
      * this extension will be used to look up the appropriate TemplateEngine. If it does not have an extension, it will
      * look for a Configuration setting "struts.ui.templateSuffix" for the extension, and if that is not set, it
      * will fall back to "ftl" as the default.
-     *
+     * </p>
+     * 
      * @param template               Template used to determine which TemplateEngine to return
      * @param templateTypeOverride Overrides the default template type
      * @return the engine.

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java b/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
index ef8505b..d072834 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
@@ -38,24 +38,31 @@ import java.net.URLDecoder;
 import java.util.*;
 
 /**
+ * <p>
  * <b>Default implementation to server static content</b>
- * <p/>
+ * </p>
+ *
+ * <p>
  * This class is used to serve common static content needed when using various parts of Struts, such as JavaScript
  * files, CSS files, etc. It works by looking for requests to /struts/* (or /static/*), and then mapping the value after "/struts/"
  * to common packages in Struts and, optionally, in your class path. By default, the following packages are
  * automatically searched:
+ * </p>
+ *
  * <ul>
  * <li>org.apache.struts2.static</li>
  * <li>template</li>
  * <li>static</li>
  * </ul>
- * <p/> This means that you can simply request /struts/xhtml/styles.css and the XHTML UI theme's default stylesheet
+ *
+ * <p>
+ * This means that you can simply request /struts/xhtml/styles.css and the XHTML UI theme's default stylesheet
  * will be returned. Likewise, many of the AJAX UI components require various JavaScript files, which are found in the
  * org.apache.struts2.static package. If you wish to add additional packages to be searched, you can add a comma
  * separated (space, tab and new line will do as well) list in the filter init parameter named "packages". <b>Be
  * careful</b>, however, to expose any packages that may have sensitive information, such as properties file with
  * database access credentials.
- * <p/>
+ * </p>
  */
 public class DefaultStaticContentLoader implements StaticContentLoader {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
index a63e503..b56db9c 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
@@ -127,11 +127,15 @@ public class Dispatcher {
     private static final String DEFAULT_CONFIGURATION_PATHS = "struts-default.xml,struts-plugin.xml,struts.xml";
 
     /**
+     * <p>
      * Store state of STRUTS_DISPATCHER_PARAMETERSWORKAROUND.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * The workaround is for WebLogic.
-     * We try to autodect WebLogic on Dispatcher init.
+     * We try to autodetect WebLogic on Dispatcher init.
      * The workaround can also be enabled manually.
+     * </p>
      */
     private boolean paramsWorkaroundEnabled = false;
 
@@ -490,14 +494,18 @@ public class Dispatcher {
     }
 
     /**
+     * <p>
      * Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method first creates the action context from the given parameters,
      * and then loads an <tt>ActionProxy</tt> from the given action name and namespace.
      * After that, the Action method is executed and output channels through the response object.
      * Actions not found are sent back to the user via the {@link Dispatcher#sendError} method,
      * using the 404 return code.
      * All other errors are reported by throwing a ServletException.
+     * </p>
      *
      * @param request  the HttpServletRequest object
      * @param response the HttpServletResponse object

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
index bb42556..bc17881 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapper.java
@@ -27,21 +27,27 @@ import javax.servlet.http.HttpServletRequest;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * The ActionMapper interface provides a mapping between HTTP requests and action invocation requests and vice-versa.
- * <p/>
+ * </p>
+ *
+ * <p>
  * When given an HttpServletRequest, the ActionMapper may return null if no action invocation request matches,
  * or it may return an {@link ActionMapping} that describes an action invocation for the framework to try.
- * <p/>
+ * </p>
+ *
+ * <p>
  * The ActionMapper is not required to guarantee that the {@link ActionMapping} returned be a real action or otherwise
  * ensure a valid request.
  * Accordingly, most ActionMappers do not need to consult the Struts configuration
  * just to determine if a request should be mapped.
- * <p/>
+ * </p>
+ *
+ * <p>
  * Just as requests can be mapped from HTTP to an action invocation, the opposite is true as well.
  * However, because HTTP requests (when shown in HTTP responses) must be in String form,
  * a String is returned rather than an actual request object.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  */
 public interface ActionMapper {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
index d5b9e4e..4933765 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
@@ -42,39 +42,43 @@ import java.util.regex.Pattern;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- * <p/>
+ * <p>
  * Default action mapper implementation, using the standard *.[ext] (where ext
  * usually "action") pattern. The extension is looked up from the Struts
  * configuration key <b>struts.action.extension</b>.
- * <p/>
- * <p/> To help with dealing with buttons and other related requirements, this
+ * </p>
+ *
+ * <p>
+ * To help with dealing with buttons and other related requirements, this
  * mapper (and other {@link ActionMapper}s, we hope) has the ability to name a
  * button with some predefined prefix and have that button name alter the
  * execution behaviour. The four prefixes are:
- * <p/>
+ * </p>
+ *
  * <ul>
  * <li>Method prefix - <i>method:default</i></li>
  * <li>Action prefix - <i>action:dashboard</i></li>
  * </ul>
- * <p/>
+ *
+ * <p>
  * In addition to these four prefixes, this mapper also understands the
  * action naming pattern of <i>foo!bar</i> in either the extension form (eg:
  * foo!bar.action) or in the prefix form (eg: action:foo!bar). This syntax tells
  * this mapper to map to the action named <i>foo</i> and the method <i>bar</i>.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  * <b>Method Prefix</b>
  * <!-- START SNIPPET: method -->
- * <p/>
+ * <p>
  * With method-prefix, instead of calling baz action's execute() method (by
  * default if it isn't overriden in struts.xml to be something else), the baz
  * action's anotherMethod() will be called. A very elegant way determine which
  * button is clicked. Alternatively, one would have submit button set a
  * particular value on the action when clicked, and the execute() method decides
  * on what to do with the setted value depending on which button is clicked.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: method -->
- * <p/>
+ *
  * <pre>
  *  &lt;!-- START SNIPPET: method-example --&gt;
  *  &lt;s:form action=&quot;baz&quot;&gt;
@@ -86,14 +90,14 @@ import java.util.regex.Pattern;
  * </pre>
  * <b>Action prefix</b>
  * <!-- START SNIPPET: action -->
- * <p/>
+ * <p>
  * With action-prefix, instead of executing baz action's execute() method (by
- * default if it isn't overriden in struts.xml to be something else), the
- * anotherAction action's execute() method (assuming again if it isn't overriden
+ * default if it isn't overridden in struts.xml to be something else), the
+ * anotherAction action's execute() method (assuming again if it isn't overridden
  * with something else in struts.xml) will be executed.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: action -->
- * <p/>
+ *
  * <pre>
  *  &lt;!-- START SNIPPET: action-example --&gt;
  *  &lt;s:form action=&quot;baz&quot;&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
index 2ecccb5..457279a 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/PrefixBasedActionMapper.java
@@ -16,24 +16,24 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
- * A prefix based action mapper that is capable of delegating to other {@link ActionMapper}s based on the request's prefix
- *
- * It is configured through struts.xml
- *
+ * <p>
+ * A prefix based action mapper that is capable of delegating to other {@link ActionMapper}s based on the request's prefix.<br>
+ * It is configured through struts.xml<br>
  * For example, with the following entries in struts.properties
+ * </p>
  *
  * <pre>
  * &lt;constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/&gt;
  * &lt;constant name="struts.mapper.prefixMapping" value="/communities:pseudoRestful,/communityTags:pseudoRestful,/events:pseudoRestful,/mediaList:pseudoRestful,/users:pseudoRestful,/community:struts,/communityTag:struts,/event:struts,/media:struts,/user:struts,:struts"/&gt;
  * </pre>
- * <p/>
+ *
+ * <p>
  * When {@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} or
  * {@link PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)} is invoked,
  * {@link PrefixBasedActionMapper} will check each possible prefix (url prefix terminating just before a /) to find the most specific ActionMapper that returns a mapping when asked to map the request.  If none are found, null is returned for both
  * {@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} and
  * {@link PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping)} methods.
- * <p/>
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
index 3a3539e..c74bf63 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
@@ -34,20 +34,27 @@ import java.util.*;
 
 
 /**
+ * <p>
  * Parse a multipart request and provide a wrapper around the request. The parsing implementation used
  * depends on the <tt>struts.multipart.parser</tt> setting. It should be set to a class which
- * extends {@link org.apache.struts2.dispatcher.multipart.MultiPartRequest}. 
- * <p/>
+ * extends {@link org.apache.struts2.dispatcher.multipart.MultiPartRequest}.
+ * </p>
+ *
+ * <p>
  * The <tt>struts.multipart.parser</tt> property should be set to <tt>jakarta</tt> for the
  * Jakarta implementation, <tt>pell</tt> for the Pell implementation and <tt>cos</tt> for the Jason Hunter
  * implementation.
- * <p/>
+ * </p>
+ *
+ * <p>
  * The files are uploaded when the object is instantiated. If there are any errors they are logged using
  * {@link #addError(String)}. An action handling a multipart form should first check {@link #hasErrors()}
  * before doing any other processing.
- * <p/>
- * An alternate implementation, PellMultiPartRequest, is provided as a plugin.
+ * </p>
  *
+ * <p>
+ * An alternate implementation, PellMultiPartRequest, is provided as a plugin.
+ * </p>
  */
 public class MultiPartRequestWrapper extends StrutsRequestWrapper {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java b/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
index 5aa1650..028a32a 100644
--- a/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
+++ b/core/src/main/java/org/apache/struts2/factory/PrefixBasedActionProxyFactory.java
@@ -14,18 +14,24 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * Prefix based factory should be used with {@link org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper}
  * to use appropriate {@link com.opensymphony.xwork2.ActionProxyFactory} connected with given
  * {@link org.apache.struts2.dispatcher.mapper.ActionMapper}
+ * </p>
  *
+ * <p>
  * Add below entry to struts.xml to enable the factory:
- * <p/>
+ * </p>
+ *
  * <pre>
  * &lt;constant name="struts.actionProxyFactory" value="prefix"/&gt;
  * </pre>
  *
+ * <p>
  * The factory will use the same set of patterns as defined with:
- * <p/>
+ * </p>
+ *
  * <pre>
  * &lt;constant name="struts.mapper.prefixMapping" value="..."/&gt;
  * </pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
index ba8389e..93f527b 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java
@@ -32,35 +32,40 @@ import java.util.TreeMap;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * This interceptor sets all parameters from the action mapping, for this request, on the value stack.  It operates
  * exactly like {@link ParametersInterceptor}, only the parameters come from the {@link ActionMapping}, not the
  * {@link ActionContext#getParameters()} method.
+ * </p>
+ *
  * <!-- END SNIPPET: description -->
- * <p/>
- * <p/> <u>Interceptor parameters:</u>
- * <p/>
+ *
+ * <p><u>Interceptor parameters:</u></p>
+ *
  * <!-- START SNIPPET: parameters -->
- * <p/>
+ *
  * <ul>
- * <p/>
+ *
  * <li>ordered - set to true if you want the top-down property setter behaviour</li>
- * <p/>
+ *
  * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: parameters -->
- * <p/>
- * <p/> <u>Extending the interceptor:</u>
- * <p/>
+ *
+ * <p><u>Extending the interceptor:</u></p>
+ *
  * <!-- START SNIPPET: extending -->
- * <p/>
- * <p/> The best way to add behavior to this interceptor is to utilize the {@link com.opensymphony.xwork2.interceptor.ParameterNameAware} interface in your
+ *
+ * <p>
+ * The best way to add behavior to this interceptor is to utilize the {@link com.opensymphony.xwork2.interceptor.ParameterNameAware} interface in your
  * actions. However, if you wish to apply a global rule that isn't implemented in your action, then you could extend
  * this interceptor and override the {@link #acceptableName(String)} method.
- * <p/>
+ * </p>
+ *
  * <!-- END SNIPPET: extending -->
- * <p/>
- * <p/> <u>Example code:</u>
- * <p/>
+ *
+ * <p><u>Example code:</u></p>
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
@@ -91,9 +96,10 @@ public class ActionMappingParametersInteceptor extends ParametersInterceptor {
      *
      * @param ac        The action context
      * @param newParams The parameter map to apply
-     *                  <p/>
+     *                  <p>
      *                  In this class this is a no-op, since the parameters were fetched from the same location.
      *                  In subclasses both retrieveParameters() and addParametersToContext() should be overridden.
+     *                  </p>
      */
     @Override
     protected void addParametersToContext(ActionContext ac, Map newParams) {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java b/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java
index 78ac18a..a686086 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ApplicationAware.java
@@ -25,12 +25,14 @@ import java.util.Map;
 
 
 /**
+ * <p>
  * Actions that want to be aware of the application Map object should implement this interface.
  * This will give them access to a Map where they can put objects that should be available
- * to other parts of the application. <p>
- * <p/>
+ * to other parts of the application.
+ * </p>
+ * <p>
  * Typical uses are configuration objects and caches.
- *
+ * </p>
  */
 public interface ApplicationAware {
 


[2/6] struts git commit: Fix wrong closing HTML tags in javadoc comments

Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
index 8fd638b..bad1c25 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CheckboxInterceptor.java
@@ -33,19 +33,21 @@ import java.util.Set;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * Looks for a hidden identification field that specifies the original value of the checkbox.
  * If the checkbox isn't submitted, insert it into the parameters as if it was with the value
  * of 'false'.
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p/>
+ *
  * <!-- START SNIPPET: parameters -->
- * <ul><li>setUncheckedValue -
- * The default value of an unchecked box can be overridden by setting the 'uncheckedValue' property.
- * </li></ul>
+ * <ul>
+ * <li>setUncheckedValue - The default value of an unchecked box can be overridden by setting the 'uncheckedValue' property.</li>
+ * </ul>
  * <!-- END SNIPPET: parameters -->
- * <p/>
+ *
  * <!-- START SNIPPET: extending -->
- * <p/>
+ *
  * <!-- END SNIPPET: extending -->
  */
 public class CheckboxInterceptor extends AbstractInterceptor {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java
index aa4f3e5..9bf7699 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ClearSessionInterceptor.java
@@ -31,19 +31,18 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * This interceptor clears the HttpSession.
- * <p/>
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
- *
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
  * <ul>
- *  <li>none</li>
+ *  <li>None</li>
  * </ul>
  *
  * <!-- END SNIPPET: extending -->
@@ -52,14 +51,12 @@ import java.util.Map;
  * <!-- START SNIPPET: parameters -->
  *
  * <ul>
- *
  * <li>None</li>
- *
  * </ul>
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <b>Example:</b>
+ * <p><b>Example:</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
index c25180b..771ed63 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
@@ -42,25 +42,37 @@ import java.util.Set;
 /**
  * <!-- START SNIPPET: description -->
  *
- * The aim of this intercepter is to set values in the stack/action based on cookie name/value
- * of interest. <p/>
+ * <p>
+ * The aim of this interceptor is to set values in the stack/action based on cookie name/value
+ * of interest.
+ * </p>
  *
+ * <p>
  * If an asterisk is present in cookiesName parameter, it will be assume that
  * all cookies name are to be injected into struts' action, even though
- * cookiesName is comma-separated by other values, e.g. (cookie1,*,cookie2). <p/>
+ * cookiesName is comma-separated by other values, e.g. (cookie1,*,cookie2).
+ * </p>
  *
+ * <p>
  * If cookiesName is left empty it will assume that no cookie will be injected
- * into Struts' action. <p/>
+ * into Struts' action.
+ * </p>
  *
+ * <p>
  * If an asterisk is present in cookiesValue parameter, it will assume that all
  * cookies name irrespective of its value will be injected into Struts' action so
- * long as the cookie name matches those specified in cookiesName parameter.<p/>
+ * long as the cookie name matches those specified in cookiesName parameter.
+ * </p>
  *
+ * <p>
  * If cookiesValue is left empty it will assume that all cookie that match the cookieName
- * parameter will be injected into Struts' action.<p/>
+ * parameter will be injected into Struts' action.
+ * </p>
  *
+ * <p>
  * The action could implement {@link CookiesAware} in order to have a {@link Map}
- * of filtered cookies set into it. <p/>
+ * of filtered cookies set into it.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java
index 6f604d0..8bdbc4e 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CreateSessionInterceptor.java
@@ -33,21 +33,24 @@ import javax.servlet.http.HttpSession;
 /**
  * <!-- START SNIPPET: description -->
  *
+ * <p>
  * This interceptor creates the HttpSession if it doesn't exist, also SessionMap is recreated and put in ServletActionContext.
- * <p/>
+ * </p>
+ *
+ * <p>
  * This is particular useful when using the &lt;@s.token&gt; tag in freemarker templates.
  * The tag <b>do</b> require that a HttpSession is already created since freemarker commits
  * the response to the client immediately.
- *
+ * </p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  *
  * <!-- START SNIPPET: extending -->
  *
  * <ul>
- *  <li>none</li>
+ *  <li>None</li>
  * </ul>
  *
  * <!-- END SNIPPET: extending -->
@@ -56,14 +59,12 @@ import javax.servlet.http.HttpSession;
  * <!-- START SNIPPET: parameters -->
  *
  * <ul>
- *
  * <li>None</li>
- *
  * </ul>
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <b>Example:</b>
+ * <p><b>Example:</b></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -76,8 +77,6 @@ import javax.servlet.http.HttpSession;
  *
  * <!-- END SNIPPET: example -->
  * </pre>
- *
- * @version $Date$ $Id$
  */
 public class CreateSessionInterceptor extends AbstractInterceptor {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
index 8b107ee..5add14a 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ExecuteAndWaitInterceptor.java
@@ -40,47 +40,54 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * The ExecuteAndWaitInterceptor is great for running long-lived actions in the background while showing the user a nice
  * progress meter. This also prevents the HTTP request from timing out when the action takes more than 5 or 10 minutes.
+ * </p>
  *
- * <p/> Using this interceptor is pretty straight forward. Assuming that you are including struts-default.xml, this
+ * <p> Using this interceptor is pretty straight forward. Assuming that you are including struts-default.xml, this
  * interceptor is already configured but is not part of any of the default stacks. Because of the nature of this
  * interceptor, it must be the <b>last</b> interceptor in the stack.
+ * </p>
  *
- * <p/> This interceptor works on a per-session basis. That means that the same action name (myLongRunningAction, in the
+ * <p> This interceptor works on a per-session basis. That means that the same action name (myLongRunningAction, in the
  * above example) cannot be run more than once at a time in a given session. On the initial request or any subsequent
  * requests (before the action has completed), the <b>wait</b> result will be returned. <b>The wait result is
  * responsible for issuing a subsequent request back to the action, giving the effect of a self-updating progress
  * meter</b>.
+ * </p>
  *
- * <p/> If no "wait" result is found, Struts will automatically generate a wait result on the fly. This result is
+ * <p> If no "wait" result is found, Struts will automatically generate a wait result on the fly. This result is
  * written in FreeMarker and cannot run unless FreeMarker is installed. If you don't wish to deploy with FreeMarker, you
  * must provide your own wait result. This is generally a good thing to do anyway, as the default wait page is very
  * plain.
+ * </p>
  *
- * <p/>Whenever the wait result is returned, the <b>action that is currently running in the background will be placed on
+ * <p>Whenever the wait result is returned, the <b>action that is currently running in the background will be placed on
  * top of the stack</b>. This allows you to display progress data, such as a count, in the wait page. By making the wait
  * page automatically reload the request to the action (which will be short-circuited by the interceptor), you can give
  * the appearance of an automatic progress meter.
+ * </p>
  *
- * <p/>This interceptor also supports using an initial wait delay. An initial delay is a time in milliseconds we let the
+ * <p>This interceptor also supports using an initial wait delay. An initial delay is a time in milliseconds we let the
  * server wait before the wait page is shown to the user. During the wait this interceptor will wake every 100 millis
  * to check if the background process is done premature, thus if the job for some reason doesn't take to long the wait
  * page is not shown to the user.
  * <br/> This is useful for e.g. search actions that have a wide span of execution time. Using a delay time of 2000
  * millis we ensure the user is presented fast search results immediately and for the slow results a wait page is used.
+ * </p>
  *
- * <p/><b>Important</b>: Because the action will be running in a seperate thread, you can't use ActionContext because it
+ * <p><b>Important</b>: Because the action will be running in a separate thread, you can't use ActionContext because it
  * is a ThreadLocal. This means if you need to access, for example, session data, you need to implement SessionAware
  * rather than calling ActionContext.getSession().
+ * </p>
  *
- * <p/>The thread kicked off by this interceptor will be named in the form <b><u>actionName</u>BackgroundProcess</b>.
+ * <p>The thread kicked off by this interceptor will be named in the form <b><u>actionName</u>BackgroundProcess</b>.
  * For example, the <i>search</i> action would run as a thread named <i>searchBackgroundProcess</i>.
- *
+ * </p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -94,20 +101,18 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * If you wish to make special preparations before and/or after the invocation of the background thread, you can extend
  * the BackgroundProcess class and implement the beforeInvocation() and afterInvocation() methods. This may be useful
  * for obtaining and releasing resources that the background process will need to execute successfully. To use your
  * background process extension, extend ExecuteAndWaitInterceptor and implement the getNewBackgroundProcess() method.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->
@@ -131,9 +136,11 @@ import java.util.Map;
  * &lt;/html&gt;
  * </pre>
  *
- * <p/> <u>Example code2:</u>
+ * <p><u>Example code2:</u></p>
+ * <p>
  * This example will wait 2 second (2000 millis) before the wait page is shown to the user. Therefore
  * if the long process didn't last long anyway the user isn't shown a wait page.
+ * </p>
  *
  * <pre>
  * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
@@ -146,10 +153,12 @@ import java.util.Map;
  * &lt;/action&gt;
  * </pre>
  *
- * <p/> <u>Example code3:</u>
+ * <p><u>Example code3:</u></p>
+ * <p>
  * This example will wait 1 second (1000 millis) before the wait page is shown to the user.
  * And at every 50 millis this interceptor will check if the background process is done, if so
  * it will return before the 1 second has elapsed, and the user isn't shown a wait page.
+ * </p>
  *
  * <pre>
  * &lt;action name="someAction" class="com.examples.SomeAction"&gt;
@@ -303,13 +312,17 @@ public class ExecuteAndWaitInterceptor extends MethodFilterInterceptor {
     }
 
     /**
+     * <p>
      * Performs the initial delay.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * When this interceptor is executed for the first time this methods handles any provided initial delay.
      * An initial delay is a time in milliseconds we let the server wait before we continue.
      * <br/> During the wait this interceptor will wake every 100 millis to check if the background
      * process is done premature, thus if the job for some reason doesn't take to long the wait
      * page is not shown to the user.
+     * </p>
      *
      * @param bp the background process
      * @throws InterruptedException is thrown by Thread.sleep

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
index 5e12df0..644203a 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
@@ -40,79 +40,81 @@ import java.util.*;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * Interceptor that is based off of {@link MultiPartRequestWrapper}, which is automatically applied for any request that
  * includes a file. It adds the following parameters, where [File Name] is the name given to the file uploaded by the
  * HTML form:
- * <p/>
+ * </p>
  * <ul>
- * <p/>
+ *
  * <li>[File Name] : File - the actual File</li>
- * <p/>
+ *
  * <li>[File Name]ContentType : String - the content type of the file</li>
- * <p/>
+ *
  * <li>[File Name]FileName : String - the actual name of the file uploaded (not the HTML name)</li>
- * <p/>
+ *
  * </ul>
- * <p/>
- * <p/> You can get access to these files by merely providing setters in your action that correspond to any of the three
+ *
+ * <p>You can get access to these files by merely providing setters in your action that correspond to any of the three
  * patterns above, such as setDocument(File document), setDocumentContentType(String contentType), etc.
  * <br/>See the example code section.
- * <p/>
- * <p/> This interceptor will add several field errors, assuming that the action implements {@link ValidationAware}.
+ * </p>
+ *
+ * <p> This interceptor will add several field errors, assuming that the action implements {@link ValidationAware}.
  * These error messages are based on several i18n values stored in struts-messages.properties, a default i18n file
  * processed for all i18n requests. You can override the text of these messages by providing text for the following
  * keys:
- * <p/>
+ * </p>
+ *
  * <ul>
- * <p/>
+ *
  * <li>struts.messages.error.uploading - a general error that occurs when the file could not be uploaded</li>
- * <p/>
+ *
  * <li>struts.messages.error.file.too.large - occurs when the uploaded file is too large</li>
- * <p/>
+ *
  * <li>struts.messages.error.content.type.not.allowed - occurs when the uploaded file does not match the expected
  * content types specified</li>
- * <p/>
+ *
  * <li>struts.messages.error.file.extension.not.allowed - occurs when the uploaded file does not match the expected
  * file extensions specified</li>
- * <p/>
+ *
  * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: description -->
- * <p/>
- * <p/> <u>Interceptor parameters:</u>
- * <p/>
+ *
+ * <p><u>Interceptor parameters:</u></p>
+ *
  * <!-- START SNIPPET: parameters -->
- * <p/>
+ *
  * <ul>
- * <p/>
+ *
  * <li>maximumSize (optional) - the maximum size (in bytes) that the interceptor will allow a file reference to be set
  * on the action. Note, this is <b>not</b> related to the various properties found in struts.properties.
  * Default to approximately 2MB.</li>
- * <p/>
+ *
  * <li>allowedTypes (optional) - a comma separated list of content types (ie: text/html) that the interceptor will allow
  * a file reference to be set on the action. If none is specified allow all types to be uploaded.</li>
- * <p/>
+ *
  * <li>allowedExtensions (optional) - a comma separated list of file extensions (ie: .html) that the interceptor will allow
  * a file reference to be set on the action. If none is specified allow all extensions to be uploaded.</li>
  * </ul>
- * <p/>
- * <p/>
+ *
+ *
  * <!-- END SNIPPET: parameters -->
- * <p/>
- * <p/> <u>Extending the interceptor:</u>
- * <p/>
- * <p/>
- * <p/>
+ *
+ * <p><u>Extending the interceptor:</u></p>
+ *
+ *
+ *
  * <!-- START SNIPPET: extending -->
- * <p/>
+ * <p>
  * You can extend this interceptor and override the acceptFile method to provide more control over which files
  * are supported and which are not.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: extending -->
- * <p/>
- * <p/> <u>Example code:</u>
- * <p/>
+ *
+ * <p><u>Example code:</u></p>
+ *
  * <pre>
  * <!-- START SNIPPET: example-configuration -->
  * &lt;action name="doUpload" class="com.example.UploadAction"&gt;
@@ -122,13 +124,13 @@ import java.util.*;
  * &lt;/action&gt;
  * <!-- END SNIPPET: example-configuration -->
  * </pre>
- * <p/>
+ *
  * <!-- START SNIPPET: multipart-note -->
- * <p/>
+ * <p>
  * You must set the encoding to <code>multipart/form-data</code> in the form where the user selects the file to upload.
- * <p/>
+ * </p>
  * <!-- END SNIPPET: multipart-note -->
- * <p/>
+ *
  * <pre>
  * <!-- START SNIPPET: example-form -->
  *   &lt;s:form action="doUpload" method="post" enctype="multipart/form-data"&gt;
@@ -137,10 +139,11 @@ import java.util.*;
  *   &lt;/s:form&gt;
  * <!-- END SNIPPET: example-form -->
  * </pre>
- * <p/>
+ * <p>
  * And then in your action code you'll have access to the File object if you provide setters according to the
  * naming convention documented in the start.
- * <p/>
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: example-action -->
  *    package com.example;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
index 2112401..d250a8f 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/I18nInterceptor.java
@@ -32,29 +32,31 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * This interceptor extends the original xwork i18n interceptor
  * and adds functionality to support cookies.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
  * <!-- START SNIPPET: parameters -->
-  * <p/>
+  *
   * <ul>
-  * <p/>
+  *
   * <li>parameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to and save
   * in the session. By default this is <b>request_locale</b></li>
-  * <p/>
+  *
   * <li>requestCookieParameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to
   * and save in a cookien. By default this is <b>request_cookie_locale</b></li>
-  * <p/>
+  *
   * <li>requestOnlyParameterName (optional) - the name of the HTTP request parameter that dictates the locale to switch to
   * for the current request only, without saving it in the session. By default this is <b>request_only_locale</b></li>
-  * <p/>
+  *
   * <li>attributeName (optional) - the name of the session key to store the selected locale. By default this is
   * <b>WW_TRANS_I18N_LOCALE</b></li>
-  * <p/>
+  *
   * </ul>
-  * <p/>
+  *
   * <!-- END SNIPPET: parameters -->
   *
   * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
index f10cd48..a3f83db 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/MessageStoreInterceptor.java
@@ -36,39 +36,42 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * An interceptor to store a {@link ValidationAware} action's messages / errors and field errors into
  * HTTP Session, such that it will be retrievable at a later stage. This allows the action's message /
  * errors and field errors to be available longer that just the particular HTTP request.
+ * </p>
  *
+ * <p>
  * If no session exists, nothing will be stored and can be retrieved later. In other terms,
  * the application is responsible to open the session.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * In the 'STORE' mode, the interceptor will store the {@link ValidationAware} action's message / errors
  * and field errors into HTTP session.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * In the 'RETRIEVE' mode, the interceptor will retrieve the stored action's message / errors  and field
  * errors and put them back into the {@link ValidationAware} action.
- * 
- * <p/>
+ * </p>
  *
+ * <p>
  * In the 'AUTOMATIC' mode, the interceptor will always retrieve the stored action's message / errors 
  * and field errors and put them back into the {@link ValidationAware} action, and after Action execution, 
  * if the {@link com.opensymphony.xwork2.Result} is an instance of {@link ServletRedirectResult}, the action's message / errors
  * and field errors into automatically be stored in the HTTP session..
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * The interceptor does nothing in the 'NONE' mode, which is the default.
+ * </p>
  *
- * <p/>
- *
- * The operation mode could be switched using :- <p/>
- * 1] Setting the iterceptor parameter eg.
+ * <p>
+ * The operation mode could be switched using:<br>
+ * 1] Setting the interceptor parameter eg.
+ * </p>
  * <pre>
  *   &lt;action name="submitApplication" ...&gt;
  *      &lt;interceptor-ref name="store"&gt;
@@ -79,7 +82,10 @@ import java.util.Map;
  *   &lt;/action&gt;
  * </pre>
  *
+ * <p>
  * 2] Through request parameter (allowRequestParameterSwitch must be 'true' which is the default)
+ * </p>
+ *
  * <pre>
  *   // the request will have the operation mode in 'STORE'
  *   http://localhost:8080/context/submitApplication.action?operationMode=STORE
@@ -101,11 +107,12 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/>
  *
  * <!-- START SNIPPET: extending -->
+ * <p>
+ * The following method could be overridden:
+ * </p>
  *
- * The following method could be overriden :-
  * <ul>
  *  <li>getRequestOperationMode - get the operation mode of this interceptor based on the request parameters</li>
  *  <li>mergeCollection - merge two collections</li>
@@ -137,15 +144,13 @@ import java.util.Map;
  * </pre>
  *
  * <!-- START SNIPPET: exampleDescription -->
- *
+ * <p>
  * With the example above, 'submitApplication.action' will have the action messages / errors / field errors stored
  * in the HTTP Session. Later when needed, (in this case, when 'applicationFailed.action' is fired, it
  * will get the action messages / errors / field errors stored in the HTTP Session and put them back into
  * the action.
- *
+ * </p>
  * <!-- END SNIPPET: exampleDescription -->
- *
- * @version $Date$ $Id$
  */
 public class MessageStoreInterceptor extends AbstractInterceptor {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java b/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java
index 6e53960..c440946 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ParameterAware.java
@@ -25,15 +25,20 @@ import java.util.Map;
 
 
 /**
+ * <p>
  * This interface gives actions an alternative way of receiving input parameters. The map will
- * contain all input parameters as name/value entries. Actions that need this should simply implement it. <p>
- * <p/>
+ * contain all input parameters as name/value entries. Actions that need this should simply implement it.
+ * </p>
+ *
+ * <p>
  * One common use for this is to have the action propagate parameters to internally instantiated data
- * objects. <p>
- * <p/>
+ * objects.
+ * </p>
+ *
+ * <p>
  * Note that all parameter values for a given name will be returned, so the type of the objects in
  * the map is <tt>java.lang.String[]</tt>.
- *
+ * </p>
  */
 public interface ParameterAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java b/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java
index 666f891..2a13300 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/RequestAware.java
@@ -24,9 +24,13 @@ package org.apache.struts2.interceptor;
 import java.util.Map;
 
 /**
- * Actions that want access to the current serlvet request attributes should implement this interface.<p />
+ * <p>
+ * Actions that want access to the current servlet request attributes should implement this interface.
+ * </p>
  *
- * This interface is only relevant if the Action is used in a servlet environment.<p/>
+ * <p>
+ * This interface is only relevant if the Action is used in a servlet environment.
+ * </p>
  */
 public interface RequestAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
index a8fce67..6518b7c 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/RolesInterceptor.java
@@ -35,10 +35,12 @@ import java.util.List;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * This interceptor ensures that the action will only be executed if the user has the correct role.
+ * </p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -60,7 +62,10 @@ import java.util.List;
  * <!-- END SNIPPET: parameters -->
  *
  * <!-- START SNIPPET: extending -->
+ * <p>
  * There are three extensions to the existing interceptor:
+ * </p>
+ *
  * <ul>
  *   <li>isAllowed(HttpServletRequest,Object) - whether or not to allow
  *       the passed action execution with this request</li>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
index dfcd4d3..4ce9c15 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ScopeInterceptor.java
@@ -41,29 +41,33 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * This is designed to solve a few simple issues related to wizard-like functionality in Struts. One of those issues is
  * that some applications have a application-wide parameters commonly used, such <i>pageLen</i> (used for records per
  * page). Rather than requiring that each action check if such parameters are supplied, this interceptor can look for
  * specified parameters and pull them out of the session.
+ * </p>
  *
- * <p/> This works by setting listed properties at action start with values from session/application attributes keyed
+ * <p>This works by setting listed properties at action start with values from session/application attributes keyed
  * after the action's class, the action's name, or any supplied key. After action is executed all the listed properties
  * are taken back and put in session or application context.
+ * </p>
  *
- * <p/> To make sure that each execution of the action is consistent it makes use of session-level locking. This way it
+ * <p>To make sure that each execution of the action is consistent it makes use of session-level locking. This way it
  * guarantees that each action execution is atomic at the session level. It doesn't guarantee application level
  * consistency however there has yet to be enough reasons to do so. Application level consistency would also be a big
  * performance overkill.
+ * </p>
  *
- * <p/> Note that this interceptor takes a snapshot of action properties just before result is presented (using a {@link
+ * <p>Note that this interceptor takes a snapshot of action properties just before result is presented (using a {@link
  * PreResultListener}), rather than after action is invoked. There is a reason for that: At this moment we know that
  * action's state is "complete" as it's values may depend on the rest of the stack and specifically - on the values of
  * nested interceptors.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -110,17 +114,15 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
- * There are no know extension points for this interceptor.
+ * <p>There are no know extension points for this interceptor.</p>
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java
index 12f3cbf..3a3f132 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ServletConfigInterceptor.java
@@ -38,12 +38,14 @@ import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * An interceptor which sets action properties based on the interfaces an action implements. For example, if the action
  * implements {@link ParameterAware} then the action context's parameter map will be set on it.
+ * </p>
  *
- * <p/> This interceptor is designed to set all properties an action needs if it's aware of servlet parameters, the
+ * <p>This interceptor is designed to set all properties an action needs if it's aware of servlet parameters, the
  * servlet context, the session, etc. Interfaces that it supports are:
+ * </p>
  *
  * <ul>
  *
@@ -67,7 +69,7 @@ import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -79,17 +81,15 @@ import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
  *
- * There are no known extension points for this interceptor.
+ * <p>There are no known extension points for this interceptor.</p>
  *
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java b/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java
index 7adb5dc..814864c 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ServletRequestAware.java
@@ -25,13 +25,18 @@ import javax.servlet.http.HttpServletRequest;
 
 
 /**
- * All Actions that want to have access to the servlet request object must implement this interface.<p>
- * <p/>
- * This interface is only relevant if the Action is used in a servlet environment. <p>
- * <p/>
+ * <p>
+ * All Actions that want to have access to the servlet request object must implement this interface.
+ * </p>
+ *
+ * <p>
+ * This interface is only relevant if the Action is used in a servlet environment.
+ * </p>
+ *
+ * <p>
  * Note that using this interface makes the Action tied to a servlet environment, so it should be
  * avoided if possible since things like unit testing will become more difficult.
- *
+ * </p>
  */
 public interface ServletRequestAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java b/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java
index 5674c69..2fa5537 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/ServletResponseAware.java
@@ -25,13 +25,16 @@ import javax.servlet.http.HttpServletResponse;
 
 
 /**
- * All Actions that want to have access to the servlet response object must implement this interface.<p>
- * <p/>
- * This interface is only relevant if the Action is used in a servlet environment.<p>
- * <p/>
+ * <p>
+ * All Actions that want to have access to the servlet response object must implement this interface.
+ * </p>
+ * <p>
+ * This interface is only relevant if the Action is used in a servlet environment.
+ * </p>
+ * <p>
  * Note that using this interface makes the Action tied to a servlet environment, so it should be
  * avoided if possible since things like unit testing will become more difficult.
- *
+ * </p>
  */
 public interface ServletResponseAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java b/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java
index 4791f18..ea101bb 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/SessionAware.java
@@ -25,13 +25,16 @@ import java.util.Map;
 
 
 /**
- * Actions that want access to the user's HTTP session attributes should implement this interface.<p>
- * <p/>
+ * <p>
+ * Actions that want access to the user's HTTP session attributes should implement this interface.
+ * </p>
+ * <p>
  * This will give them access to a Map where they can put objects that can be made available
- * to subsequent requests.<p/>
- * <p/>
+ * to subsequent requests.
+ * </p>
+ * <p>
  * Typical uses may be cached user data such as name, or a shopping cart.
- *
+ * </p>
  */
 public interface SessionAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java
index 7998489..aad8d76 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/StrutsConversionErrorInterceptor.java
@@ -28,14 +28,14 @@ import com.opensymphony.xwork2.util.ValueStack;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * This interceptor extends {@link ConversionErrorInterceptor} but only adds conversion errors from the ActionContext to
  * the field errors of the action if the field value is not null, "", or {""} (a size 1 String array with only an empty
  * String). See {@link ConversionErrorInterceptor} for more information, as well as the Type Conversion documentation.
- *
+ * </p>
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -47,14 +47,12 @@ import com.opensymphony.xwork2.util.ValueStack;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * There are no known extension points for this interceptor.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
  * <pre>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java
index 229fcaf..7854213 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/TokenInterceptor.java
@@ -33,38 +33,39 @@ import javax.servlet.http.HttpSession;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * Ensures that only one request per token is processed. This interceptor can make sure that back buttons and double
  * clicks don't cause un-intended side affects. For example, you can use this to prevent careless users who might double
  * click on a "checkout" button at an online store. This interceptor uses a fairly primitive technique for when an
  * invalid token is found: it returns the result <b>invalid.token</b>, which can be mapped in your action configuration.
  * A more complex implementation, {@link TokenSessionStoreInterceptor}, can provide much better logic for when invalid
  * tokens are found.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * <b>Note:</b> To set a token in your form, you should use the <b>token tag</b>. This tag is required and must be used
  * in the forms that submit to actions protected by this interceptor. Any request that does not provide a token (using
  * the token tag) will be processed as a request with an invalid token.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * <b>Internationalization Note:</b> The following key could be used to internationalized the action errors generated
  * by this token interceptor
+ * </p>
  *
  * <ul>
  *    <li>struts.messages.invalid.token</li>
  * </ul>
  *
- * <p/>
- *
+ * <p>
  * <b>NOTE:</b> As this method extends off MethodFilterInterceptor, it is capable of
  * deciding if it is applicable only to selective methods in the action class. See
  * <code>MethodFilterInterceptor</code> for more info.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -76,19 +77,17 @@ import javax.servlet.http.HttpSession;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * While not very common for users to extend, this interceptor is extended by the {@link TokenSessionStoreInterceptor}.
  * The {@link #handleInvalidToken}  and {@link #handleValidToken} methods are protected and available for more
  * interesting logic, such as done with the token session interceptor.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java
index 871f24d..4ad4431 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/TokenSessionStoreInterceptor.java
@@ -37,23 +37,24 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * This interceptor builds off of the {@link TokenInterceptor}, providing advanced logic for handling invalid tokens.
  * Unlike the normal token interceptor, this interceptor will attempt to provide intelligent fail-over in the event of
  * multiple requests using the same session. That is, it will block subsequent requests until the first request is
  * complete, and then instead of returning the <i>invalid.token</i> code, it will attempt to display the same response
  * that the original, valid action invocation would have displayed if no multiple requests were submitted in the first
  * place.
+ * </p>
  *
- * <p/>
- *
+ * <p>
  * <b>NOTE:</b> As this method extends off MethodFilterInterceptor, it is capable of
  * deciding if it is applicable only to selective methods in the action class. See
  * <code>MethodFilterInterceptor</code> for more info.
+ * </p>
  *
  * <!-- END SNIPPET: description -->
  *
- * <p/> <u>Interceptor parameters:</u>
+ * <p><u>Interceptor parameters:</u></p>
  *
  * <!-- START SNIPPET: parameters -->
  *
@@ -65,17 +66,15 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: parameters -->
  *
- * <p/> <u>Extending the interceptor:</u>
- *
- * <p/>
+ * <p><u>Extending the interceptor:</u></p>
  *
  * <!-- START SNIPPET: extending -->
- *
+ * <p>
  * There are no known extension points for this interceptor.
- *
+ * </p>
  * <!-- END SNIPPET: extending -->
  *
- * <p/> <u>Example code:</u>
+ * <p><u>Example code:</u></p>
  *
  * <pre>
  * <!-- START SNIPPET: example -->

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java
index 33b19f4..6eed280 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/debugging/DebuggingInterceptor.java
@@ -49,11 +49,15 @@ import java.util.*;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * Provides several different debugging screens to provide insight into the
  * data behind the page.
+ * </p>
  * <!-- END SNIPPET: description -->
+ * <p>
  * The value of the 'debug' request parameter determines
  * the screen:
+ * </p>
  * <!-- START SNIPPET: parameters -->
  * <ul>
  * <li> <code>xml</code> - Dumps the parameters, context, session, and value
@@ -69,18 +73,20 @@ import java.util.*;
  * debug=browser&object=%23parameters</li>
  * </ul>
  * <!-- END SNIPPET: parameters -->
- * <p/>
- *  Example:
+ * <p>
+ * Example:
+ * </p>
  * <!-- START SNIPPET: example -->
  *  http://localhost:8080/Welcome.action?debug=xml
  * <!-- END SNIPPET: example -->
- * <p/>
+ * <p>
  * <!-- START SNIPPET: remarks -->
  * This interceptor only is activated when devMode is enabled in
  * struts.properties. The 'debug' parameter is removed from the parameter list
  * before the action is executed. All operations occur before the natural
  * Result has a chance to execute.
  * <!-- END SNIPPET: remarks -->
+ * </p>
  */
 public class DebuggingInterceptor extends AbstractInterceptor {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java b/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
index 4745475..d68769e 100644
--- a/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
+++ b/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
@@ -37,40 +37,41 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- * <p/>
+ * <p>
  * A custom Result type for setting HTTP headers and status by optionally evaluating against the ValueStack.
  * This result can also be used to send and error to the client. All the parameters can be evaluated against the ValueStack.
- * <p/>
+ * </p>
+ *
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>This result type takes the following parameters:</b>
- * <p/>
+ * </p>
  * <!-- START SNIPPET: params -->
- * <p/>
+ *
  * <ul>
- * <p/>
+ *
  * <li><b>status</b> - the http servlet response status code that should be set on a response.</li>
- * <p/>
+ *
  * <li><b>parse</b> - true by default. If set to false, the headers param will not be parsed for Ognl expressions.</li>
- * <p/>
+ *
  * <li><b>headers</b> - header values.</li>
- * <p/>
+ *
  * <li><b>error</b> - the http servlet response error code that should be set on a response.</li>
- * <p/>
+ *
  * <li><b>errorMessage</b> - error message to be set on response if 'error' is set.</li>
  * </ul>
- * <p/>
+ *
  * <!-- END SNIPPET: params -->
- * <p/>
+ * <p>
  * <b>Example:</b>
- * <p/>
+ * </p>
  * <pre><!-- START SNIPPET: example -->
  * &lt;result name="success" type="httpheader"&gt;
  *   &lt;param name="status"&gt;204&lt;/param&gt;
  *   &lt;param name="headers.a"&gt;a custom header value&lt;/param&gt;
  *   &lt;param name="headers.b"&gt;another custom header value&lt;/param&gt;
  * &lt;/result&gt;
- * <p/>
+ *
  * &lt;result name="proxyRequired" type="httpheader"&gt;
  *   &lt;param name="error"&gt;305&lt;/param&gt;
  *   &lt;param name="errorMessage"&gt;this action must be accessed through a prozy&lt;/param&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/PostbackResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/PostbackResult.java b/core/src/main/java/org/apache/struts2/result/PostbackResult.java
index ee14384..95b3927 100644
--- a/core/src/main/java/org/apache/struts2/result/PostbackResult.java
+++ b/core/src/main/java/org/apache/struts2/result/PostbackResult.java
@@ -36,12 +36,15 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
+ * <p>
  * A result that renders the current request parameters as a form which
  * immediately submits a <a href="http://en.wikipedia.org/wiki/Postback">postback</a>
  * to the specified destination.
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>Parameters:</b>
+ * </p>
  * <!-- START SNIPPET: params -->
  * <ul>
  *     <li>location - http location to post the form</li>
@@ -53,8 +56,9 @@ import java.util.Map;
  *     <li>parse (true|false) - when set to true actionName, namespace and method are parsed, default "true"</li>
  * </ul>
  * <!-- END SNIPPET: params -->
- * <p/>
+ * <p>
  * <b>Examples:</b>
+ * </p>
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;action name="registerThirdParty" &gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java b/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
index 8d20e99..42bfbf3 100644
--- a/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
+++ b/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
@@ -40,14 +40,17 @@ import java.util.Map;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * Includes or forwards to a view (usually a jsp). Behind the scenes Struts
  * will use a RequestDispatcher, where the target servlet/JSP receives the same
  * request/response objects as the original servlet/JSP. Therefore, you can pass
  * data between them using request.setAttribute() - the Struts action is
  * available.
- * <p/>
+ * </p>
+ *
+ * <p>
  * There are three possible ways the result can be executed:
+ * </p>
  *
  * <ul>
  *
@@ -65,7 +68,7 @@ import java.util.Map;
  * </ul>
  * <!-- END SNIPPET: description -->
  *
- * <b>This result type takes the following parameters:</b>
+ * <p><b>This result type takes the following parameters:</b></p>
  *
  * <!-- START SNIPPET: params -->
  *
@@ -79,7 +82,7 @@ import java.util.Map;
  *
  * <!-- END SNIPPET: params -->
  *
- * <b>Example:</b>
+ * <p><b>Example:</b></p>
  *
  * <pre><!-- START SNIPPET: example -->
  * &lt;result name="success" type="dispatcher"&gt;
@@ -87,7 +90,9 @@ import java.util.Map;
  * &lt;/result&gt;
  * <!-- END SNIPPET: example --></pre>
  *
+ * <p>
  * This result follows the same rules from {@link StrutsResultSupport}.
+ * </p>
  *
  * @see javax.servlet.RequestDispatcher
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java b/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java
index c3fe70b..7f2e148 100644
--- a/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java
+++ b/core/src/main/java/org/apache/struts2/result/ServletRedirectResult.java
@@ -47,7 +47,7 @@ import static javax.servlet.http.HttpServletResponse.SC_FOUND;
 
 /**
  * <!-- START SNIPPET: description -->
- * 
+ * <p>
  * Calls the {@link HttpServletResponse#sendRedirect(String) sendRedirect}
  * method to the location specified. The response is told to redirect the
  * browser to the specified location (a new request from the client). The
@@ -56,11 +56,11 @@ import static javax.servlet.http.HttpServletResponse.SC_FOUND;
  * available. This is because actions are built on a single-thread model. The
  * only way to pass data is through the session or with web parameters
  * (url?name=value) which can be OGNL expressions.
- * 
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>This result type takes the following parameters:</b>
- * 
+ * </p>
  * <!-- START SNIPPET: params -->
  * 
  * <ul>
@@ -79,9 +79,10 @@ import static javax.servlet.http.HttpServletResponse.SC_FOUND;
  * </p>
  * 
  * <!-- END SNIPPET: params -->
- * 
+ * <p>
  * <b>Example:</b>
- * 
+ * </p>
+ *
  * <pre>
  * <!-- START SNIPPET: example -->
  * &lt;!--

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/StreamResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/StreamResult.java b/core/src/main/java/org/apache/struts2/result/StreamResult.java
index 8438fbc..7829e3c 100644
--- a/core/src/main/java/org/apache/struts2/result/StreamResult.java
+++ b/core/src/main/java/org/apache/struts2/result/StreamResult.java
@@ -32,14 +32,14 @@ import java.io.OutputStream;
 
 /**
  * <!-- START SNIPPET: description -->
- *
+ * <p>
  * A custom Result type for sending raw data (via an InputStream) directly to the
  * HttpServletResponse. Very useful for allowing users to download content.
- *
+ * </p>
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>This result type takes the following parameters:</b>
- *
+ * </p>
  * <!-- START SNIPPET: params -->
  *
  * <ul>
@@ -73,8 +73,9 @@ import java.io.OutputStream;
  * provide <code>getContentType()</code> to override that parameter for the current action.</p>
  *
  * <!-- END SNIPPET: params -->
- *
+ * <p>
  * <b>Example:</b>
+ * </p>
  *
  * <pre><!-- START SNIPPET: example -->
  * &lt;result name="success" type="stream"&gt;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java b/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java
index bdb1b93..06a1f12 100644
--- a/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java
+++ b/core/src/main/java/org/apache/struts2/result/StrutsResultSupport.java
@@ -36,11 +36,15 @@ import java.util.Collection;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * A base class for all Struts action execution results.
  * The "location" param is the default parameter, meaning the most common usage of this result would be:
- * <p/>
+ * </p>
+ *
+ * <p>
  * This class provides two common parameters for any subclass:
+ * </p>
+ *
  * <ul>
  * <li>location - the location to go to after execution (could be a jsp page or another action).
  * It can be parsed as per the rules definied in the
@@ -50,54 +54,64 @@ import java.util.Collection;
  * <li>encode - false by default. If set to false, the location param will not be url encoded. This only have effect when parse is true</li>
  * </ul>
  *
+ * <p>
  * <b>NOTE:</b>
  * The encode param will only have effect when parse is true
+ * </p>
  *
  * <!-- END SNIPPET: javadoc -->
  *
- * <p/>
- *
  * <!-- START SNIPPET: example -->
  *
- * <p/>
+ * <p>
  * In the struts.xml configuration file, these would be included as:
- * <p/>
+ * </p>
+ *
  * <pre>
  *  &lt;result name="success" type="redirect"&gt;
  *      &lt;param name="<b>location</b>"&gt;foo.jsp&lt;/param&gt;
  *  &lt;/result&gt;</pre>
- * <p/>
+ *
  * or
- * <p/>
+ *
  * <pre>
  *  &lt;result name="success" type="redirect" &gt;
  *      &lt;param name="<b>location</b>"&gt;foo.jsp?url=${myUrl}&lt;/param&gt;
  *      &lt;param name="<b>parse</b>"&gt;true&lt;/param&gt;
  *      &lt;param name="<b>encode</b>"&gt;true&lt;/param&gt;
- *  &lt;/result&gt;</pre>
- * <p/>
- * In the above case, myUrl will be parsed against Ognl Value Stack and then
- * URL encoded.
- * <p/>
+ *  &lt;/result&gt;
+ * </pre>
+ *
+ * <p>In the above case, myUrl will be parsed against Ognl Value Stack and then
+ * URL encoded.1
+ * </p>
+ * <p>
  * or when using the default parameter feature
- * <p/>
+ * </p>
+ *
  * <pre>
- *  &lt;result name="success" type="redirect"&gt;<b>foo.jsp</b>&lt;/result&gt;</pre>
- * <p/>
+ *  &lt;result name="success" type="redirect"&gt;<b>foo.jsp</b>&lt;/result&gt;
+ * </pre>
+ * <p>
  * You should subclass this class if you're interested in adding more parameters or functionality
  * to your Result. If you do subclass this class you will need to
- * override {@link #doExecute(String, ActionInvocation)}.<p>
- * <p/>
+ * override {@link #doExecute(String, ActionInvocation)}.
+ * </p>
+ *
+ * <p>
  * Any custom result can be defined in struts.xml as:
- * <p/>
+ * </p>
+ *
  * <pre>
  *  &lt;result-types&gt;
  *      ...
  *      &lt;result-type name="myresult" class="com.foo.MyResult" /&gt;
- *  &lt;/result-types&gt;</pre>
- * <p/>
- * Please see the {@link com.opensymphony.xwork2.Result} class for more info on Results in general.
+ *  &lt;/result-types&gt;
+ * </pre>
  *
+ * <p>
+ * Please see the {@link com.opensymphony.xwork2.Result} class for more info on Results in general.
+ * </p>
  * <!-- END SNIPPET: example -->
  *
  * @see com.opensymphony.xwork2.Result

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/result/VelocityResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/result/VelocityResult.java b/core/src/main/java/org/apache/struts2/result/VelocityResult.java
index 810d191..2720209 100644
--- a/core/src/main/java/org/apache/struts2/result/VelocityResult.java
+++ b/core/src/main/java/org/apache/struts2/result/VelocityResult.java
@@ -53,9 +53,9 @@ import java.io.Writer;
  * streamed directly to the servlet output.
  *
  * <!-- END SNIPPET: description -->
- * <p/>
+ * <p>
  * <b>This result type takes the following parameters:</b>
- *
+ * </p>
  * <!-- START SNIPPET: params -->
  *
  * <ul>
@@ -71,14 +71,16 @@ import java.io.Writer;
  * </p>
  *
  * <!-- END SNIPPET: params -->
- *
+ * <p>
  * <b>Example:</b>
- *
- * <pre><!-- START SNIPPET: example -->
+ * </p>
+ * <pre>
+ * <!-- START SNIPPET: example -->
  * &lt;result name="success" type="velocity"&gt;
  *   &lt;param name="location"&gt;foo.vm&lt;/param&gt;
  * &lt;/result&gt;
- * <!-- END SNIPPET: example --></pre>
+ * <!-- END SNIPPET: example -->
+ * </pre>
  *
  */
 public class VelocityResult extends StrutsResultSupport {
@@ -170,8 +172,9 @@ public class VelocityResult extends StrutsResultSupport {
 
     /**
      * Retrieve the content type for this template.
-     * <p/>
+     * <p>
      * People can override this method if they want to provide specific content types for specific templates (eg text/xml).
+     * </p>
      *
      * @return The content type associated with this template (default "text/html")
      */
@@ -181,8 +184,9 @@ public class VelocityResult extends StrutsResultSupport {
 
     /**
      * Retrieve the encoding for this template.
-     * <p/>
+     * <p>
      * People can override this method if they want to provide specific encodings for specific templates.
+     * </p>
      *
      * @return The encoding associated with this template (defaults to the value of 'struts.i18n.encoding' property)
      */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/util/AttributeMap.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/util/AttributeMap.java b/core/src/main/java/org/apache/struts2/util/AttributeMap.java
index 48498e3..4e95cb5 100644
--- a/core/src/main/java/org/apache/struts2/util/AttributeMap.java
+++ b/core/src/main/java/org/apache/struts2/util/AttributeMap.java
@@ -32,14 +32,17 @@ import java.util.Set;
 
 /**
  * A Map that holds 4 levels of scope.
- * <p/>
- * The scopes are the ones known in the web world.:
+ * <p>
+ * The scopes are the ones known in the web world:
+ * </p>
+ *
  * <ul>
  *   <li>Page scope</li>
  *   <li>Request scope</li>
  *   <li>Session scope</li>
  *   <li>Application scope</li>
  * </ul>
+ *
  * A object is searched in the order above, starting from page and ending at application scope.
  *
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/util/Counter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/util/Counter.java b/core/src/main/java/org/apache/struts2/util/Counter.java
index aa5a600..08bec42 100644
--- a/core/src/main/java/org/apache/struts2/util/Counter.java
+++ b/core/src/main/java/org/apache/struts2/util/Counter.java
@@ -26,9 +26,9 @@ import java.io.Serializable;
 
 /**
  * A bean that can be used to keep track of a counter.
- * <p/>
+ * <p>
  * Since it is an Iterator it can be used by the iterator tag
- *
+ * </p>
  */
 public class Counter implements java.util.Iterator, Serializable {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java b/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java
index d01ec7a..d37c79f 100644
--- a/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java
+++ b/core/src/main/java/org/apache/struts2/util/StrutsTypeConverter.java
@@ -28,19 +28,22 @@ import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;
 /**
  * <!-- START SNIPPET: javadoc -->
  *
+ * <p>
  * Base class for type converters used in Struts. This class provides two abstract methods that are used to convert
- * both to and from strings -- the critical functionality that is core to Struts's type coversion system.
- *
- * <p/> Type converters do not have to use this class. It is merely a helper base class, although it is recommended that
+ * both to and from strings -- the critical functionality that is core to Struts's type conversion system.
+ * </p>
+ * <p> Type converters do not have to use this class. It is merely a helper base class, although it is recommended that
  * you use this class as it provides the common type conversion contract required for all web-based type conversion.
+ * </p>
  *
- * <p/> There's a hook (fall back method) called <code>performFallbackConversion</code> of which
+ * <p> There's a hook (fall back method) called <code>performFallbackConversion</code> of which
  * could be used to perform some fallback conversion if <code>convertValue</code> method of this
  * failed. By default it just ask its super class (Ognl's DefaultTypeConverter) to do the conversion.
+ * </p>
  *
- * <p/> To allow the framework to recognize that a conversion error has occurred, throw an XWorkException or
+ * <p> To allow the framework to recognize that a conversion error has occurred, throw an XWorkException or
  * preferable a TypeConversionException.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  *
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/util/StrutsUtil.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/util/StrutsUtil.java b/core/src/main/java/org/apache/struts2/util/StrutsUtil.java
index 14265bb..aee854f 100644
--- a/core/src/main/java/org/apache/struts2/util/StrutsUtil.java
+++ b/core/src/main/java/org/apache/struts2/util/StrutsUtil.java
@@ -144,8 +144,9 @@ public class StrutsUtil {
 
     /**
      * the selectedList objects are matched to the list.listValue
-     * <p/>
+     * <p>
      * listKey and listValue are optional, and if not provided, the list item is used
+     * </p>
      *
      * @param selectedList the name of the action property
      *                     that contains the list of selected items

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
index 1508cb7..c4fde80 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
@@ -55,11 +55,13 @@ import java.util.*;
 
 
 /**
+ * <p>
  * Static Configuration Manager for the FreemarkerResult's configuration
+ * </p>
  *
- * <p/>
+ * <p>
+ * Possible extension points are:
  *
- * Possible extension points are :-
  * <ul>
  *   <li>createConfiguration method</li>
  *   <li>loadSettings method</li>
@@ -67,27 +69,31 @@ import java.util.*;
  *   <li>populateContext method</li>
  * </ul>
  *
- * <p/>
+ * <p>
  * <b> createConfiguration method </b><br/>
  * Create a freemarker Configuration.
- * <p/>
+ * </p>
  *
+ * <p>
  * <b> loadSettings method </b><br/>
  * Load freemarker settings, default to freemarker.properties (if found in classpath)
- * <p/>
+ * </p>
  *
+ * <p>
  * <b> createTemplateLoader method</b><br/>
- * create a freemarker TemplateLoader that loads freemarker template in the following order :-
+ * create a freemarker TemplateLoader that loads freemarker template in the following order:
+ * </p>
+ *
  * <ol>
  *   <li>path defined in ServletContext init parameter named 'templatePath' or 'TemplatePath' (must be an absolute path)</li>
  *   <li>webapp classpath</li>
  *   <li>struts's static folder (under [STRUT2_SOURCE]/org/apache/struts2/static/</li>
  * </ol>
- * <p/>
  *
+ * <p>
  * <b> populateContext method</b><br/>
  * populate the created model.
- *
+ * </p>
  */
 public class FreemarkerManager {
 
@@ -289,8 +295,10 @@ public class FreemarkerManager {
     
     /**
      * Create the instance of the freemarker Configuration object.
-     * <p/>
+     * <p>
      * this implementation
+     * </p>
+     *
      * <ul>
      * <li>obtains the default configuration from Configuration.getDefaultConfiguration()
      * <li>sets up template loading from a ClassTemplateLoader and a WebappTemplateLoader

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
index 0775f55..b052da0 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerResult.java
@@ -148,12 +148,14 @@ public class FreemarkerResult extends StrutsResultSupport {
 
     /**
      * Execute this result, using the specified template locationArg.
-     * <p/>
-     * The template locationArg has already been interoplated for any variable substitutions
-     * <p/>
+     * <p>
+     * The template locationArg has already been interpolated for any variable substitutions
+     * </p>
+     * <p>
      * this method obtains the freemarker configuration and the object wrapper from the provided hooks.
      * It them implements the template processing workflow by calling the hooks for
      * preTemplateProcess and postTemplateProcess
+     * </p>
      */
     public void doExecute(String locationArg, ActionInvocation invocation) throws IOException, TemplateException {
         this.location = locationArg;
@@ -230,27 +232,35 @@ public class FreemarkerResult extends StrutsResultSupport {
     }
 
     /**
+     * <p>
      * This method is called from {@link #doExecute(String, ActionInvocation)} to obtain the
      * FreeMarker configuration object that this result will use for template loading. This is a
      * hook that allows you to custom-configure the configuration object in a subclass, or to fetch
      * it from an IoC container.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * <b>
      * The default implementation obtains the configuration from the ConfigurationManager instance.
      * </b>
+     * </p>
      */
     protected Configuration getConfiguration() throws TemplateException {
         return freemarkerManager.getConfiguration(ServletActionContext.getServletContext());
     }
 
     /**
+     * <p>
      * This method is called from {@link #doExecute(String, ActionInvocation)}  to obtain the
      * FreeMarker object wrapper object that this result will use for adapting objects into template
      * models. This is a hook that allows you to custom-configure the wrapper object in a subclass.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * <b>
      * The default implementation returns {@link Configuration#getObjectWrapper()}
      * </b>
+     * </p>
      */
     protected ObjectWrapper getObjectWrapper() {
         return configuration.getObjectWrapper();
@@ -273,9 +283,10 @@ public class FreemarkerResult extends StrutsResultSupport {
 
     /**
      * Build the instance of the ScopesHashModel, including JspTagLib support
-     * <p/>
+     * <p>
      * Objects added to the model are
-     * <p/>
+     * </p>
+     *
      * <ul>
      * <li>Application - servlet context attributes hash model
      * <li>JspTaglibs - jsp tag lib factory model

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java b/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java
index 47ea5ef..98cec4b 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/ScopesHashModel.java
@@ -35,13 +35,19 @@ import java.util.Map;
 
 
 /**
+ * <p>
  * Simple Hash model that also searches other scopes.
- * <p/>
+ * </p>
+ *
+ * <p>
  * If the key doesn't exist in this hash, this template model tries to
  * resolve the key within the attributes of the following scopes,
  * in the order stated: Request, Session, Servlet Context
+ * </p>
  *
+ * <p>
  * Updated to subclass AllHttpScopesHashModel.java to incorporate invisible scopes and compatibility with freemarker.
+ * </p>
  */
 public class ScopesHashModel extends SimpleHash implements TemplateModel {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java b/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java
index df9d64a..ad1222f 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/StrutsBeanWrapper.java
@@ -36,17 +36,18 @@ import freemarker.template.TemplateModel;
 
 /**
  * <!-- START SNIPPET: javadoc -->
- *
+ * <p>
  * The StrutsBeanWrapper extends the default FreeMarker BeansWrapper and provides almost no change in functionality,
  * <b>except</b> for how it handles maps. Normally, FreeMarker has two modes of operation: either support for friendly
  * map built-ins (?keys, ?values, etc) but only support for String keys; OR no special built-in support (ie: ?keys
  * returns the methods on the map instead of the keys) but support for String and non-String keys alike. Struts
  * provides an alternative implementation that gives us the best of both worlds.
+ * </p>
  *
- * <p/> It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the
+ * <p> It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the
  * <b>struts.freemarker.wrapper.altMap</b> property in struts.properties to false, allowing the normal BeansWrapper
  * logic to take place instead.
- *
+ * </p>
  * <!-- END SNIPPET: javadoc -->
  */
 public class StrutsBeanWrapper extends BeansWrapper {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java b/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
index 8f49856..9828eaf 100644
--- a/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
+++ b/core/src/main/java/org/apache/struts2/views/velocity/VelocityManager.java
@@ -118,9 +118,11 @@ public class VelocityManager {
     }
 
     /**
+     * <p>
      * This method is responsible for creating the standard VelocityContext used by all WW2 velocity views.  The
      * following context parameters are defined:
-     * <p/>
+     * </p>
+     *
      * <ul>
      * <li><strong>request</strong> - the current HttpServletRequest</li>
      * <li><strong>response</strong> - the current HttpServletResponse</li>
@@ -394,22 +396,24 @@ public class VelocityManager {
 
 
     /**
-     * <p/>
+     * <p>
      * Instantiates a new VelocityEngine.
      * </p>
-     * <p/>
+     * <p>
      * The following is the default Velocity configuration
      * </p>
+     *
      * <pre>
      *  resource.loader = file, class
      *  file.resource.loader.path = real path of webapp
      *  class.resource.loader.description = Velocity Classpath Resource Loader
      *  class.resource.loader.class = org.apache.struts2.views.velocity.StrutsResourceLoader
      * </pre>
-     * <p/>
+     * <p>
      * this default configuration can be overridden by specifying a struts.velocity.configfile property in the
      * struts.properties file.  the specified config file will be searched for in the following order:
      * </p>
+     *
      * <ul>
      * <li>relative to the servlet context path</li>
      * <li>relative to the WEB-INF directory</li>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java b/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java
index 69a8ad3..67202fc 100644
--- a/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java
+++ b/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java
@@ -156,16 +156,22 @@ public class AdapterFactory {
     }
 
     /**
+     * <p>
      * Construct a proxy adapter for a value that is an existing DOM Node.
      * This allows arbitrary DOM Node trees to be mixed in with our results.
      * The proxied nodes are read-only and currently support only
      * limited types of Nodes including Element, Text, and Attributes.  (Other
      * Node types may be ignored by the proxy and not appear in the result tree).
-     * <p/>
+     * </p>
+     *
+     * <p>
      * // TODO:
      * NameSpaces are not yet supported.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method is primarily for use by the adapter node classes.
+     * </p>
      */
     public Node proxyNode(AdapterNode parent, Node node) {
         // If the property is a Document, "unwrap" it to the root element

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java b/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java
index 59f77d0..194d52b 100644
--- a/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java
+++ b/core/src/main/java/org/apache/struts2/views/xslt/StringAdapter.java
@@ -57,13 +57,17 @@ public class StringAdapter extends AbstractAdapterElement {
     }
 
     /**
+     * <p>
      * Get the object to be adapted as a String value.
-     * <p/>
+     * </p>
+     *
+     * <p>
      * This method can be overridden by subclasses that wish to use StringAdapter
      * as a simplified customizable XML adapter for Java types. A subclass can
      * enable parsing of the value string as containing XML text via the
      * setParseStringAsXML() method and then override getStringValue() to return a
      * String containing the custom formatted XML.
+     * </p>
      */
     protected String getStringValue() {
         return getPropertyValue().toString();

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl b/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl
index ff87ccb..83bf03c 100644
--- a/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl
+++ b/core/src/main/resources/org/apache/struts2/interceptor/wait.ftl
@@ -26,8 +26,8 @@
     </head>
     <body>
         Please wait while we process your request...
-        <p/>
-
+        <p>
         This page will reload automatically and display your request when it is completed.
+        </p>
     </body>
 </html>

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java b/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java
index ecf2ceb..90313f7 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ExternalReferenceAction.java
@@ -21,13 +21,6 @@
  */
 package com.opensymphony.xwork2;
 
-
-/**
- * @author Mike
- *         <p/>
- *         To change the template for this generated type comment go to Window -
- *         Preferences - Java - Code Generation - Code and Comments
- */
 public class ExternalReferenceAction implements Action {
 
     private Foo foo;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/Foo.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/Foo.java b/core/src/test/java/com/opensymphony/xwork2/Foo.java
index 25d5bb0..ddf0b22 100644
--- a/core/src/test/java/com/opensymphony/xwork2/Foo.java
+++ b/core/src/test/java/com/opensymphony/xwork2/Foo.java
@@ -21,13 +21,6 @@
  */
 package com.opensymphony.xwork2;
 
-
-/**
- * @author Mike
- *         <p/>
- *         To change the template for this generated type comment go to
- *         Window - Preferences - Java - Code Generation - Code and Comments
- */
 public class Foo {
 
     String name = null;

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
index e8bf7d1..397341f 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/ConfigurationTest.java
@@ -34,10 +34,6 @@ import java.util.Map;
 
 
 /**
- * ConfigurationTest
- * <p/>
- * Created : Jan 27, 2003 1:30:08 AM
- *
  * @author Jason Carreira
  */
 public class ConfigurationTest extends XWorkTestCase {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
index 8f1435d..ecdf526 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/NoNoArgsConstructorAction.java
@@ -4,8 +4,10 @@ import com.opensymphony.xwork2.Action;
 
 /**
  * Action with no public constructor taking no args.
- * <p/>
+ *
+ * <p>
  * Used for unit test of {@link com.opensymphony.xwork2.config.providers.XmlConfigurationProvider}.
+ * </p>
  *
  * @author Claus Ibsen
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java b/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java
index 640a171..4c3b1df 100644
--- a/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java
+++ b/core/src/test/java/com/opensymphony/xwork2/config/providers/PrivateConstructorAction.java
@@ -18,9 +18,11 @@ package com.opensymphony.xwork2.config.providers;
 import com.opensymphony.xwork2.Action;
 
 /**
- * Action with nu public constructor.
- * <p/>
+ * Action with no public constructor.
+ *
+ * <p>
  * Used for unit test of {@link XmlConfigurationProvider}.
+ * </p>
  *
  * @author Claus Ibsen
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java b/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
index 751f84a..9449c4e 100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/AliasInterceptorTest.java
@@ -28,16 +28,18 @@ import java.util.Map;
 /**
  * AliasInterceptorTest
  *
+ * <p>
  * Test of aliasInterceptor specifically depends on actionTest test defined in /test/xwork.xml
  * stack.getContext().putAll(params);
- * <p/>
+ * </p>
  * e.g.
+ * <pre>
  * <action name="aliasTest" class="com.opensymphony.xwork2.SimpleAction">
  *    <param name="aliases">#{ "aliasSource" : "aliasDest", "bar":"baz" }</param>
  *    <interceptor-ref name="defaultStack"/>
  *    <interceptor-ref name="alias"/>
  * </action>
- *
+ * </pre>
  * @author Matthew Payne
  */
 public class AliasInterceptorTest extends XWorkTestCase {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java b/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
index 6942a1f..fab0fc9 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ognl/accessor/XWorkListPropertyAccessorTest.java
@@ -12,10 +12,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * XWorkListPropertyAccessorTest
- * <p/>
- * Created : Nov 7, 2005 3:54:44 PM
- *
  * @author Jason Carreira <jc...@eplus.com>
  */
 public class XWorkListPropertyAccessorTest extends XWorkTestCase {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java
index b900b55..eb90b75 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/DefaultValidatorFileParserTest.java
@@ -27,10 +27,6 @@ import java.util.List;
 
 
 /**
- * DefaultValidatorFileParserTest
- * <p/>
- * Created : Jan 20, 2003 3:41:26 PM
- *
  * @author Jason Carreira
  * @author James House
  * @author tm_jee ( tm_jee (at) yahoo.co.uk )

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
index d096e1e..aadb478 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/IntRangeValidatorTest.java
@@ -28,10 +28,6 @@ import java.util.Map;
 
 
 /**
- * IntRangeValidatorTest
- * <p/>
- * Created : Jan 21, 2003 12:16:01 AM
- *
  * @author Jason Carreira
  */
 public class IntRangeValidatorTest extends XWorkTestCase {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
index 5d10079..467deb9 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/LongRangeValidatorTest.java
@@ -27,11 +27,6 @@ import java.util.List;
 import java.util.Map;
 
 
-/**
- * LongRangeValidatorTest
- * <p/>
- *
- */
 public class LongRangeValidatorTest extends XWorkTestCase {
 
     public void testRangeValidation() {

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java
index bebf255..6aa5873 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/RegexFieldValidatorTest.java
@@ -23,10 +23,14 @@ import com.opensymphony.xwork2.validator.validators.RegexFieldValidator;
 import java.util.List;
 
 /**
+ * <p>
  * Unit test for RegexFieldValidator.
- * <p/>
+ * </p>
+ *
+ * <p>
  * This unit test is only to test that the regex field validator works, not to
  * unit test the build in reg.exp from JDK. That is why the expressions are so simple.
+ * </p>
  *
  * @author Claus Ibsen
  */

http://git-wip-us.apache.org/repos/asf/struts/blob/eb564a25/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
index 123ad3b..a89865e 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/ShortRangeValidatorTest.java
@@ -27,11 +27,6 @@ import java.util.List;
 import java.util.Map;
 
 
-/**
- * ShortRangeValidatorTest
- * <p/>
- *
- */
 public class ShortRangeValidatorTest extends XWorkTestCase {
 
     public void testRangeValidation() {