This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 26c43af  Updates production by Jenkins
26c43af is described below

commit 26c43af76d40da845a2e7ea6be6794c767b1bb5c
Author: jenkins <bui...@apache.org>
AuthorDate: Fri Oct 6 08:55:01 2017 +0000

    Updates production by Jenkins
---
 content/core-developers/after-annotation.html            |  8 ++++----
 content/core-developers/alias-interceptor.html           |  6 +++---
 .../core-developers/annotation-workflow-interceptor.html |  2 +-
 content/core-developers/basic-validation.html            |  8 ++++----
 content/core-developers/before-annotation.html           |  8 ++++----
 content/core-developers/before-result-annotation.html    |  8 ++++----
 content/core-developers/chaining-interceptor.html        |  8 ++++----
 content/core-developers/checkbox-interceptor.html        |  4 ++--
 content/core-developers/client-side-validation.html      |  2 +-
 content/core-developers/client-validation.html           |  4 ++--
 .../configuration-provider-and-configuration.html        |  4 ++--
 content/core-developers/conversion-annotation.html       |  6 +++---
 .../conversion-error-field-validator-annotation.html     |  6 +++---
 .../core-developers/conversion-error-interceptor.html    |  6 +++---
 content/core-developers/create-if-null-annotation.html   |  6 +++---
 content/core-developers/create-session-interceptor.html  |  6 +++---
 content/core-developers/custom-validator-annotation.html |  8 ++++----
 .../date-range-field-validator-annotation.html           |  6 +++---
 content/core-developers/debugging-interceptor.html       |  4 ++--
 .../core-developers/default-workflow-interceptor.html    |  6 +++---
 .../double-range-field-validator-annotation.html         |  6 +++---
 content/core-developers/element-annotation.html          |  6 +++---
 content/core-developers/email-validator-annotation.html  |  6 +++---
 content/core-developers/exception-interceptor.html       |  6 +++---
 .../core-developers/execute-and-wait-interceptor.html    |  6 +++---
 .../core-developers/expression-validator-annotation.html |  6 +++---
 .../field-expression-validator-annotation.html           |  6 +++---
 content/core-developers/file-upload-interceptor.html     |  6 +++---
 content/core-developers/file-upload.html                 |  8 ++++----
 content/core-developers/i18n-interceptor.html            |  6 +++---
 content/core-developers/input-config-annotation.html     |  6 +++---
 .../int-range-field-validator-annotation.html            |  6 +++---
 content/core-developers/key-annotation.html              |  6 +++---
 content/core-developers/key-property-annotation.html     |  6 +++---
 content/core-developers/logger-interceptor.html          |  6 +++---
 content/core-developers/message-store-interceptor.html   |  6 +++---
 content/core-developers/model-driven.html                |  4 ++--
 content/core-developers/namespace-annotation.html        |  6 +++---
 content/core-developers/object-factory.html              |  6 +++---
 .../core-developers/parameter-filter-interceptor.html    |  4 ++--
 content/core-developers/parent-package-annotation.html   |  4 ++--
 content/core-developers/postback-result.html             |  6 +++---
 content/core-developers/prepare-interceptor.html         |  6 +++---
 .../regex-field-validator-annotation.html                |  6 +++---
 .../required-field-validator-annotation.html             |  6 +++---
 .../required-string-validator-annotation.html            |  6 +++---
 content/core-developers/restful-action-mapper.html       |  2 +-
 content/core-developers/result-annotation.html           |  6 +++---
 content/core-developers/roles-interceptor.html           |  4 ++--
 content/core-developers/scope-interceptor.html           |  6 +++---
 .../core-developers/scoped-model-driven-interceptor.html |  6 +++---
 content/core-developers/servlet-config-interceptor.html  |  6 +++---
 .../core-developers/static-parameters-interceptor.html   |  6 +++---
 .../string-length-field-validator-annotation.html        |  6 +++---
 content/core-developers/sunone-7-0.html                  |  4 ++--
 content/core-developers/timer-interceptor.html           |  6 +++---
 content/core-developers/token-interceptor.html           |  6 +++---
 content/core-developers/token-session-interceptor.html   |  6 +++---
 content/core-developers/type-conversion-annotation.html  |  6 +++---
 content/core-developers/using-field-validators.html      |  2 +-
 content/core-developers/using-non-field-validators.html  |  2 +-
 .../core-developers/using-visitor-field-validator.html   |  2 +-
 content/core-developers/validation-annotation.html       |  6 +++---
 content/core-developers/validation-interceptor.html      |  6 +++---
 content/core-developers/validations-annotation.html      |  8 ++++----
 content/core-developers/velocity-result.html             |  4 ++--
 .../visitor-field-validator-annotation.html              |  6 +++---
 content/core-developers/weblogic-6-1.html                | 10 +++++-----
 content/core-developers/weblogic.html                    |  6 +++---
 content/core-developers/websphere.html                   |  8 ++++----
 content/core-developers/zero-configuration.html          | 16 ++++++++--------
 .../cewolf-charts-using-velocity-templates.html          |  8 ++++----
 content/tag-developers/tag-syntax.html                   |  8 ++++----
 content/tag-developers/velocity-tags.html                |  4 ++--
 content/tag-developers/velocity.html                     |  8 ++++----
 75 files changed, 221 insertions(+), 221 deletions(-)

diff --git a/content/core-developers/after-annotation.html 
b/content/core-developers/after-annotation.html
index 6ddd3f7..1633089 100644
--- a/content/core-developers/after-annotation.html
+++ b/content/core-developers/after-annotation.html
@@ -129,19 +129,19 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/after-annotation.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="after-annotation">After Annotation</h1>
 
-<p>####After Annotation####</p>
+<h4 id="after-annotation-1">After Annotation</h4>
 
 <p> Marks a action method that needs to be called after the main action method 
and the result was
  executed. Return value is ignored.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> The After annotation can be applied at method level.
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -159,7 +159,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">SampleAction</span> <span class="kd">extends</span> <span 
class="n">ActionSupport</span> <span class="o">{</span>
 
diff --git a/content/core-developers/alias-interceptor.html 
b/content/core-developers/alias-interceptor.html
index 022639b..56f214e 100644
--- a/content/core-developers/alias-interceptor.html
+++ b/content/core-developers/alias-interceptor.html
@@ -141,7 +141,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -153,14 +153,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  This interceptor does not have any known extension points.
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
      <span class="c">&lt;!-- The value for the foo parameter will be applied 
as if it were named bar --&gt;</span>
diff --git a/content/core-developers/annotation-workflow-interceptor.html 
b/content/core-developers/annotation-workflow-interceptor.html
index 989f21e..3ea3731 100644
--- a/content/core-developers/annotation-workflow-interceptor.html
+++ b/content/core-developers/annotation-workflow-interceptor.html
@@ -144,7 +144,7 @@
  {@link After}.</p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>  <span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">BaseAnnotatedAction</span> <span class="o">{</span>
        <span class="kd">protected</span> <span class="n">String</span> <span 
class="n">log</span> <span class="o">=</span> <span class="s">""</span><span 
class="o">;</span>
diff --git a/content/core-developers/basic-validation.html 
b/content/core-developers/basic-validation.html
index 2e456ec..e1d58b3 100644
--- a/content/core-developers/basic-validation.html
+++ b/content/core-developers/basic-validation.html
@@ -131,7 +131,7 @@
 
 <p>Let’s configure a basic validation workflow, step by step.</p>
 
-<p>#####Step 1#####</p>
+<h5 id="step-1">Step 1</h5>
 
 <p>Create the input form.</p>
 
@@ -172,7 +172,7 @@
 </code></pre>
 </div>
 
-<p>#####Step 2#####</p>
+<h5 id="step-2">Step 2</h5>
 
 <p>Create the Action class.</p>
 
@@ -214,7 +214,7 @@
 </code></pre>
 </div>
 
-<p>#####Step 3#####</p>
+<h5 id="step-3">Step 3</h5>
 
 <p>Create the validators. The</p>
 
@@ -256,7 +256,7 @@
 </code></pre>
 </div>
 
-<p>#####Step 4#####</p>
+<h5 id="step-4">Step 4</h5>
 
 <p>Make sure there is a result for “input” listed in the struts.xml for when 
the validation fails:</p>
 
diff --git a/content/core-developers/before-annotation.html 
b/content/core-developers/before-annotation.html
index 61f534e..0cb4721 100644
--- a/content/core-developers/before-annotation.html
+++ b/content/core-developers/before-annotation.html
@@ -129,18 +129,18 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/before-annotation.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="before-annotation">Before Annotation</h1>
 
-<p>####Before Annotation####</p>
+<h4 id="before-annotation-1">Before Annotation</h4>
 
 <p> Marks a action method that needs to be executed before the main action 
method.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> The Before annotation can be applied at method level.
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -158,7 +158,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">SampleAction</span> <span class="kd">extends</span> <span 
class="n">ActionSupport</span> <span class="o">{</span>
 
diff --git a/content/core-developers/before-result-annotation.html 
b/content/core-developers/before-result-annotation.html
index ab8a725..30d0c21 100644
--- a/content/core-developers/before-result-annotation.html
+++ b/content/core-developers/before-result-annotation.html
@@ -129,18 +129,18 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/before-result-annotation.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="beforeresult-annotation">BeforeResult Annotation</h1>
 
-<p>####BeforeResult Annotation####</p>
+<h4 id="beforeresult-annotation-1">BeforeResult Annotation</h4>
 
 <p> Marks a action method that needs to be executed before the result. Return 
value is ignored.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> The BeforeResult annotation can be applied at method level.
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -158,7 +158,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">SampleAction</span> <span class="kd">extends</span> <span 
class="n">ActionSupport</span> <span class="o">{</span>
 
diff --git a/content/core-developers/chaining-interceptor.html 
b/content/core-developers/chaining-interceptor.html
index e962698..3fd1465 100644
--- a/content/core-developers/chaining-interceptor.html
+++ b/content/core-developers/chaining-interceptor.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/chaining-interceptor.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="chaining-interceptor">Chaining Interceptor</h1>
 
-<p>#####Description#####</p>
+<h5 id="description">Description</h5>
 
 <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 
<a 
href="http://struts\.apache\.org/maven/xwork\-core/apidocs/com/opensymphony/xwork2/Unchainable\.html";>Unchainable</a>^[http://struts.apache.org/maven/xwork-core/apidocs/com/opensymphony/xwork2/Unchainable.html].
 A collection of optional</p>
 
@@ -247,7 +247,7 @@
 </code></pre>
 </div>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <ul>
   <li></li>
@@ -267,11 +267,11 @@
 </div>
 <p> (optional) - the list of parameter names to include when copying (all 
others will be excluded)</p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>There are no known extension points to this interceptor.</p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <p>Simple example how to chain two actions</p>
 
diff --git a/content/core-developers/checkbox-interceptor.html 
b/content/core-developers/checkbox-interceptor.html
index ad5fe80..c73db06 100644
--- a/content/core-developers/checkbox-interceptor.html
+++ b/content/core-developers/checkbox-interceptor.html
@@ -166,14 +166,14 @@
 </div>
 <p>so that if the checkbox is not checked on the form the action will still 
receive a value rather than the default HTML action of not providing a value 
for unchecked checkboxes.</p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <ul>
  <li>setUncheckedValue - The default value of an unchecked box can be 
overridden by setting the 'uncheckedValue' property.</li>
  </ul>
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
 </p>
diff --git a/content/core-developers/client-side-validation.html 
b/content/core-developers/client-side-validation.html
index 06c26dd..cb0d3fa 100644
--- a/content/core-developers/client-side-validation.html
+++ b/content/core-developers/client-side-validation.html
@@ -207,7 +207,7 @@
 
 </blockquote>
 
-<p>#####Client Side Validation Types#####</p>
+<h5 id="client-side-validation-types">Client Side Validation Types</h5>
 
 <p>There are two styles of client side validation.</p>
 
diff --git a/content/core-developers/client-validation.html 
b/content/core-developers/client-validation.html
index e5f8909..c4ef2ca 100644
--- a/content/core-developers/client-validation.html
+++ b/content/core-developers/client-validation.html
@@ -145,7 +145,7 @@
 
 <p>(information) Some themes do not support client-side validation.</p>
 
-<p>#####Step 1#####</p>
+<h5 id="step-1">Step 1</h5>
 
 <p>Create the form.</p>
 
@@ -190,7 +190,7 @@
 </div>
 <p>tag is used to link a style sheet.</p>
 
-<p>#####Step 2#####</p>
+<h5 id="step-2">Step 2</h5>
 
 <p>Create the Action class.</p>
 
diff --git 
a/content/core-developers/configuration-provider-and-configuration.html 
b/content/core-developers/configuration-provider-and-configuration.html
index 4bf50a1..3df0fc4 100644
--- a/content/core-developers/configuration-provider-and-configuration.html
+++ b/content/core-developers/configuration-provider-and-configuration.html
@@ -136,7 +136,7 @@
 </div>
 <p>. The provider can be configured through a Dispatcher’s <a 
href="dispatcher-listener.html">DispatcherListener</a>.</p>
 
-<p>####Example####</p>
+<h4 id="example">Example</h4>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> static {
    Dispatcher.addDispatcherListener(new DispatcherListener() {
@@ -152,7 +152,7 @@
 </code></pre>
 </div>
 
-<p>####Configuration provider####</p>
+<h4 id="configuration-provider">Configuration provider</h4>
 
 <div class="highlighter-rouge"><pre 
class="highlight"><code>ConfigurationProvider
 </code></pre>
diff --git a/content/core-developers/conversion-annotation.html 
b/content/core-developers/conversion-annotation.html
index 2adc2a1..3b80426 100644
--- a/content/core-developers/conversion-annotation.html
+++ b/content/core-developers/conversion-annotation.html
@@ -132,12 +132,12 @@
 <p> A marker annotation for type conversions at Type level.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> The Conversion annotation must be applied at Type level.
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -159,7 +159,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@Conversion</span><span class="o">(</span>
      <span class="n">conversions</span> <span class="o">=</span> <span 
class="o">{</span>
diff --git 
a/content/core-developers/conversion-error-field-validator-annotation.html 
b/content/core-developers/conversion-error-field-validator-annotation.html
index c1bffbd..732404f 100644
--- a/content/core-developers/conversion-error-field-validator-annotation.html
+++ b/content/core-developers/conversion-error-field-validator-annotation.html
@@ -133,12 +133,12 @@
  See <a 
href="https://struts.apache.org/docs/type-conversion.html#TypeConversion-TypeConversionErrorHandling";>Type
 Conversion Error Handling</a> for details.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The ConversionErrorFieldValidator annotation must be applied at method 
level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -186,7 +186,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@ConversionErrorFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">)</span>
 
diff --git a/content/core-developers/conversion-error-interceptor.html 
b/content/core-developers/conversion-error-interceptor.html
index 7d80514..f28c8e4 100644
--- a/content/core-developers/conversion-error-interceptor.html
+++ b/content/core-developers/conversion-error-interceptor.html
@@ -161,7 +161,7 @@
  </p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -172,14 +172,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  There are no known extension points for this interceptor.
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
      <span class="nt">&lt;interceptor-ref</span> <span 
class="na">name=</span><span class="s">"params"</span><span 
class="nt">/&gt;</span>
diff --git a/content/core-developers/create-if-null-annotation.html 
b/content/core-developers/create-if-null-annotation.html
index b040efb..e8fb937 100644
--- a/content/core-developers/create-if-null-annotation.html
+++ b/content/core-developers/create-if-null-annotation.html
@@ -132,12 +132,12 @@
 <p> <p>Sets the CreateIfNull for type conversion.</p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The CreateIfNull annotation must be applied at field or method 
level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -159,7 +159,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@CreateIfNull</span><span class="o">(</span> <span 
class="n">value</span> <span class="o">=</span> <span class="kc">true</span> 
<span class="o">)</span>
  <span class="kd">private</span> <span class="n">List</span><span 
class="o">&lt;</span><span class="n">User</span><span class="o">&gt;</span> 
<span class="n">users</span><span class="o">;</span>
diff --git a/content/core-developers/create-session-interceptor.html 
b/content/core-developers/create-session-interceptor.html
index 8ae743c..788d0c9 100644
--- a/content/core-developers/create-session-interceptor.html
+++ b/content/core-developers/create-session-interceptor.html
@@ -141,7 +141,7 @@
  </p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -150,7 +150,7 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  <ul>
@@ -159,7 +159,7 @@
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/custom-validator-annotation.html 
b/content/core-developers/custom-validator-annotation.html
index 372d8ef..836ac4a 100644
--- a/content/core-developers/custom-validator-annotation.html
+++ b/content/core-developers/custom-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This annotation can be used for custom validators. Use the 
ValidationParameter annotation to supply additional params.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method or type level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -185,14 +185,14 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@CustomValidator</span><span class="o">(</span><span 
class="n">type</span> <span class="o">=</span><span 
class="s">"customValidatorName"</span><span class="o">,</span> <span 
class="n">fieldName</span> <span class="o">=</span> <span 
class="s">"myField"</span><span class="o">)</span>
 
 </code></pre>
 </div>
 
-<p>#####Adding Parameters#####</p>
+<h5 id="adding-parameters">Adding Parameters</h5>
 
 <p>Use the <a href="validation-parameter-annotation.html">ValidationParameter 
annotation</a> to add custom parameter values.</p>
 
diff --git a/content/core-developers/date-range-field-validator-annotation.html 
b/content/core-developers/date-range-field-validator-annotation.html
index c6ac907..63a1a08 100644
--- a/content/core-developers/date-range-field-validator-annotation.html
+++ b/content/core-developers/date-range-field-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This validator checks that a date field has a value within a specified 
range.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -223,7 +223,7 @@
  <p>If neither <em>min</em> nor <em>max</em> is set, nothing will be done.</p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@DateRangeFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class="n [...]
 
diff --git a/content/core-developers/debugging-interceptor.html 
b/content/core-developers/debugging-interceptor.html
index 787001f..eaf0460 100644
--- a/content/core-developers/debugging-interceptor.html
+++ b/content/core-developers/debugging-interceptor.html
@@ -141,7 +141,7 @@
  Result has a chance to execute.
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <ul>
  <li> <code>xml</code> - Dumps the parameters, context, session, and value
@@ -158,7 +158,7 @@
  </ul>
 </p>
 
-<p>#####Example#####</p>
+<h5 id="example">Example</h5>
 
 <p>  http://localhost:8080/Welcome.action?debug=xml
 </p>
diff --git a/content/core-developers/default-workflow-interceptor.html 
b/content/core-developers/default-workflow-interceptor.html
index aeb672c..1d7f7fd 100644
--- a/content/core-developers/default-workflow-interceptor.html
+++ b/content/core-developers/default-workflow-interceptor.html
@@ -178,7 +178,7 @@
  
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <ul>
  <li>inputResultName - Default to "input". Determine the result name to be 
returned when
@@ -186,14 +186,14 @@
  </ul>
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  <p>There are no known extension points for this interceptor.</p>
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git 
a/content/core-developers/double-range-field-validator-annotation.html 
b/content/core-developers/double-range-field-validator-annotation.html
index 4540356..25ed572 100644
--- a/content/core-developers/double-range-field-validator-annotation.html
+++ b/content/core-developers/double-range-field-validator-annotation.html
@@ -133,12 +133,12 @@
  If neither min nor max is set, nothing will be done.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -238,7 +238,7 @@
  <p>The values for min and max must be inserted as String values so that "0" 
can be handled as a possible value.</p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@DoubleRangeFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class= [...]
 
diff --git a/content/core-developers/element-annotation.html 
b/content/core-developers/element-annotation.html
index 32750e0..571d9fb 100644
--- a/content/core-developers/element-annotation.html
+++ b/content/core-developers/element-annotation.html
@@ -132,12 +132,12 @@
 <p> <p>Sets the Element for type conversion.</p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The Element annotation must be applied at field or method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -159,7 +159,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
 // The key property for User objects within the users collection is the 
&lt;code&gt;userName&lt;/code&gt; attribute.
diff --git a/content/core-developers/email-validator-annotation.html 
b/content/core-developers/email-validator-annotation.html
index 7fe90d3..e01929f 100644
--- a/content/core-developers/email-validator-annotation.html
+++ b/content/core-developers/email-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This validator checks that a field is a valid e-mail address if it 
contains a non-empty String.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -185,7 +185,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@EmailValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">)</span>
 
diff --git a/content/core-developers/exception-interceptor.html 
b/content/core-developers/exception-interceptor.html
index 5a68541..138f214 100644
--- a/content/core-developers/exception-interceptor.html
+++ b/content/core-developers/exception-interceptor.html
@@ -145,7 +145,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -166,7 +166,7 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  If you want to add custom handling for publishing the Exception, you may 
override
@@ -175,7 +175,7 @@
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;xwork&gt;</span>
      <span class="nt">&lt;package</span> <span class="na">name=</span><span 
class="s">"default"</span> <span class="na">extends=</span><span 
class="s">"xwork-default"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/execute-and-wait-interceptor.html 
b/content/core-developers/execute-and-wait-interceptor.html
index b2ac751..99aa989 100644
--- a/content/core-developers/execute-and-wait-interceptor.html
+++ b/content/core-developers/execute-and-wait-interceptor.html
@@ -176,7 +176,7 @@
  </p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -189,7 +189,7 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  If you wish to make special preparations before and/or after the invocation 
of the background thread, you can extend
@@ -199,7 +199,7 @@
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
      <span class="nt">&lt;interceptor-ref</span> <span 
class="na">name=</span><span class="s">"completeStack"</span><span 
class="nt">/&gt;</span>
diff --git a/content/core-developers/expression-validator-annotation.html 
b/content/core-developers/expression-validator-annotation.html
index fa422ab..c84adc0 100644
--- a/content/core-developers/expression-validator-annotation.html
+++ b/content/core-developers/expression-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This non-field level validator validates a supplied regular expression.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -179,7 +179,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@ExpressionValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class="n">ex [...]
 
diff --git a/content/core-developers/field-expression-validator-annotation.html 
b/content/core-developers/field-expression-validator-annotation.html
index a92c1cf..49e73fb 100644
--- a/content/core-developers/field-expression-validator-annotation.html
+++ b/content/core-developers/field-expression-validator-annotation.html
@@ -134,12 +134,12 @@
  false when it is evaluated against the value stack.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -187,7 +187,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@FieldExpressionValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class=" [...]
 
diff --git a/content/core-developers/file-upload-interceptor.html 
b/content/core-developers/file-upload-interceptor.html
index a166c46..9b3f932 100644
--- a/content/core-developers/file-upload-interceptor.html
+++ b/content/core-developers/file-upload-interceptor.html
@@ -180,7 +180,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -199,7 +199,7 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  You can extend this interceptor and override the acceptFile method to provide 
more control over which files
@@ -207,7 +207,7 @@
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <p><strong>Example action mapping:</strong></p>
 
diff --git a/content/core-developers/file-upload.html 
b/content/core-developers/file-upload.html
index d152874..e1ea8a3 100644
--- a/content/core-developers/file-upload.html
+++ b/content/core-developers/file-upload.html
@@ -131,7 +131,7 @@
 
 <p>The Struts 2 framework provides built-in support for processing file 
uploads that conform to <a href="http://www\.ietf\.org/rfc/rfc1867\.txt";>RFC 
1867</a>^[http://www.ietf.org/rfc/rfc1867.txt], “Form-based File Upload in 
HTML”. When correctly configured the framework will pass uploaded file(s) into 
your Action class. Support for individual and multiple file uploads are 
provided. When a file is uploaded it will typically be stored in a temporary 
directory. Uploaded files should be proc [...]
 
-<p>#####Dependencies#####</p>
+<h5 id="dependencies">Dependencies</h5>
 
 <p>The Struts 2 framework leverages add-on libraries to handle the parsing of 
uploaded files. These libraries are not included in the Struts distribution, 
you must add them into your project. The libraries needed are:</p>
 
@@ -197,7 +197,7 @@
 </code></pre>
 </div>
 
-<p>#####Basic Usage#####</p>
+<h5 id="basic-usage">Basic Usage</h5>
 
 <p>The</p>
 
@@ -302,7 +302,7 @@
   </tbody>
 </table>
 
-<p>#####Uploading Multiple Files#####</p>
+<h5 id="uploading-multiple-files">Uploading Multiple Files</h5>
 
 <p>As mentioned in the previous section one technique for uploading multiple 
files would be to simply have multiple form input elements of type file all 
with different names. This would require a number of setter methods that was 
equal to 3 times the number of files being uploaded. Another option is to use 
Arrays or java.util.Lists. The following examples are taken from the Showcase 
example application that is part sample applications you can download at <a 
href="http://struts\.apache\.o [...]
 
@@ -436,7 +436,7 @@
 </code></pre>
 </div>
 
-<p>#####Advanced Configuration#####</p>
+<h5 id="advanced-configuration">Advanced Configuration</h5>
 
 <p>The Struts 2</p>
 
diff --git a/content/core-developers/i18n-interceptor.html 
b/content/core-developers/i18n-interceptor.html
index bf44964..46c14b0 100644
--- a/content/core-developers/i18n-interceptor.html
+++ b/content/core-developers/i18n-interceptor.html
@@ -129,13 +129,13 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/i18n-interceptor.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="i18n-interceptor">I18n Interceptor</h1>
 
-<p>#####Description#####</p>
+<h5 id="description">Description</h5>
 
 <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, it also looks for specific cookie to read locale from. This means 
that this interceptor can be used to allow for your application to dynamically 
change the locale for the user’s session or, alternatively, only for the 
current  request. This is v [...]
 
 <p>For example, using the default parameter name, a request to 
<strong>foo.action?request_locale=en_US</strong>, then the locale for US 
English is saved in the user’s session and will be used for all future 
requests. If there is no locale set (for example with the first visit), the 
interceptor uses the browser locale.</p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <ul>
   <li>
@@ -155,7 +155,7 @@
   </li>
 </ul>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>&lt;interceptor 
name="i18nCookie" class="org.apache.struts2.interceptor.I18nInterceptor"/&gt;
 
diff --git a/content/core-developers/input-config-annotation.html 
b/content/core-developers/input-config-annotation.html
index b61dc96..b2fa533 100644
--- a/content/core-developers/input-config-annotation.html
+++ b/content/core-developers/input-config-annotation.html
@@ -132,13 +132,13 @@
 <p> Marks a action method that if it's not validated by ValidationInterceptor 
then execute input method or input result.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> The InputConfig annotation can be applied at method level.
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -162,7 +162,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="kd">public</span> <span class="kd">class</span> <span 
class="nc">SampleAction</span> <span class="kd">extends</span> <span 
class="n">ActionSupport</span> <span class="o">{</span>
 
diff --git a/content/core-developers/int-range-field-validator-annotation.html 
b/content/core-developers/int-range-field-validator-annotation.html
index a670a91..64601b5 100644
--- a/content/core-developers/int-range-field-validator-annotation.html
+++ b/content/core-developers/int-range-field-validator-annotation.html
@@ -133,12 +133,12 @@
  If neither min nor max is set, nothing will be done.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -220,7 +220,7 @@
  <p>The values for min and max must be inserted as String values so that "0" 
can be handled as a possible value.</p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@IntRangeFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class="n" [...]
 
diff --git a/content/core-developers/key-annotation.html 
b/content/core-developers/key-annotation.html
index 08ce4e3..1e8584d 100644
--- a/content/core-developers/key-annotation.html
+++ b/content/core-developers/key-annotation.html
@@ -132,12 +132,12 @@
 <p> <p>Sets the Key for type conversion.</p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The Key annotation must be applied at field or method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -159,7 +159,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c1">// The key property for User objects within the users collection is 
the &lt;code&gt;userName&lt;/code&gt; attribute.</span>
  <span class="nd">@Key</span><span class="o">(</span> <span 
class="n">value</span> <span class="o">=</span> <span 
class="n">java</span><span class="o">.</span><span class="na">lang</span><span 
class="o">.</span><span class="na">Long</span><span class="o">.</span><span 
class="na">class</span> <span class="o">)</span>
diff --git a/content/core-developers/key-property-annotation.html 
b/content/core-developers/key-property-annotation.html
index 5067895..73b32f6 100644
--- a/content/core-developers/key-property-annotation.html
+++ b/content/core-developers/key-property-annotation.html
@@ -132,13 +132,13 @@
 <p> <p>Sets the KeyProperty for type conversion.</p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <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>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -160,7 +160,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c1">// The key property for User objects within the users collection is 
the &lt;code&gt;userName&lt;/code&gt; attribute.</span>
  <span class="nd">@KeyProperty</span><span class="o">(</span> <span 
class="n">value</span> <span class="o">=</span> <span 
class="s">"userName"</span> <span class="o">)</span>
diff --git a/content/core-developers/logger-interceptor.html 
b/content/core-developers/logger-interceptor.html
index 87ff019..671329d 100644
--- a/content/core-developers/logger-interceptor.html
+++ b/content/core-developers/logger-interceptor.html
@@ -136,17 +136,17 @@
  </p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> There are no parameters for this interceptor.
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> There are no obvious extensions to the existing interceptor.
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c">&lt;!-- prints out a message before and after the immediate action 
execution --&gt;</span>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/message-store-interceptor.html 
b/content/core-developers/message-store-interceptor.html
index c8200ce..dbdf4f8 100644
--- a/content/core-developers/message-store-interceptor.html
+++ b/content/core-developers/message-store-interceptor.html
@@ -171,7 +171,7 @@ 
http://localhost:8080/context/submitApplication.action?operationMode=STORE
 </code></pre>
 </div>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <ul>
   <li></li>
@@ -200,11 +200,11 @@ 
http://localhost:8080/context/submitApplication.action?operationMode=STORE
 </div>
 <p> - The operation mode this interceptor should be in (either 
<strong>STORE</strong>, <strong>RETRIEVE</strong>, <strong>AUTOMATIC</strong>, 
or <strong>NONE</strong>). <strong>NONE </strong>being the default.</p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>There is no known extensions.</p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>&lt;action 
name="submitApplication" ....&gt;
        &lt;interceptor-ref name="store"&gt;
diff --git a/content/core-developers/model-driven.html 
b/content/core-developers/model-driven.html
index 902fcb1..0a18245 100644
--- a/content/core-developers/model-driven.html
+++ b/content/core-developers/model-driven.html
@@ -143,7 +143,7 @@
 </div>
 <p>method. Struts will then populate the fields of this object with the 
request parameters, and this object will be placed on top of the stack once the 
action is executed. Validation will also be performed on this model object, 
instead of the action. Please read about <a 
href="visitor-field-validator-annotation.html">VisitorFieldValidator 
Annotation</a> which can help you validate model’s fields.</p>
 
-<p>####Interceptor####</p>
+<h4 id="interceptor">Interceptor</h4>
 
 <p>To use</p>
 
@@ -157,7 +157,7 @@
 </div>
 <p>so it is applied to all actions by default.</p>
 
-<p>####Example####</p>
+<h4 id="example">Example</h4>
 
 <p>Action class:</p>
 
diff --git a/content/core-developers/namespace-annotation.html 
b/content/core-developers/namespace-annotation.html
index 70ce73e..dbbdf42 100644
--- a/content/core-developers/namespace-annotation.html
+++ b/content/core-developers/namespace-annotation.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/namespace-annotation.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="namespace-annotation">Namespace Annotation</h1>
 
-<p>####Namespace Annotation####</p>
+<h4 id="namespace-annotation-1">Namespace Annotation</h4>
 
 <p>The</p>
 
@@ -143,11 +143,11 @@
 </div>
 <p>class rather than based on <a href="zero-configuration.html">Zero 
Configuration</a>’s conventions.</p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p>This annotation is placed at the class level.</p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <table>
   <thead>
diff --git a/content/core-developers/object-factory.html 
b/content/core-developers/object-factory.html
index e53a6d1..4ba1f1b 100644
--- a/content/core-developers/object-factory.html
+++ b/content/core-developers/object-factory.html
@@ -131,9 +131,9 @@
 
 <p>All objects created by the framework are instantiated by the ObjectFactory. 
The ObjectFactory provides the means of integrating the framework with IoC 
containers like Spring, Pico, Plexus, and so forth.</p>
 
-<p>####Customize####</p>
+<h4 id="customize">Customize</h4>
 
-<p>#####Extend ObjectFactory#####</p>
+<h5 id="extend-objectfactory">Extend ObjectFactory</h5>
 
 <p>Customized ObjectFactory must extend ObjectFactory or any of its 
descendants and have a default, no-argument constructor.</p>
 
@@ -164,7 +164,7 @@
 </code></pre>
 </div>
 
-<p>#####Define dedicated factory#####</p>
+<h5 id="define-dedicated-factory">Define dedicated factory</h5>
 
 <p>If you want to just extend one part of ObjectFactory, ie. to change how <a 
href="result-types.html">Result Types</a> are build, you can implement</p>
 
diff --git a/content/core-developers/parameter-filter-interceptor.html 
b/content/core-developers/parameter-filter-interceptor.html
index c7c6131..e6a9f60 100644
--- a/content/core-developers/parameter-filter-interceptor.html
+++ b/content/core-developers/parameter-filter-interceptor.html
@@ -140,7 +140,7 @@
  
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -174,7 +174,7 @@
 </p>
 
 
-#####Example#####
+##### Example
 
 
 
diff --git a/content/core-developers/parent-package-annotation.html 
b/content/core-developers/parent-package-annotation.html
index 50a66f2..29f3029 100644
--- a/content/core-developers/parent-package-annotation.html
+++ b/content/core-developers/parent-package-annotation.html
@@ -141,11 +141,11 @@
 </div>
 <p>’s package for an action found via <a href="zero-configuration.html">Zero 
Configuration</a>.</p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p>This annotation is placed at the class level.</p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <table>
   <thead>
diff --git a/content/core-developers/postback-result.html 
b/content/core-developers/postback-result.html
index cf3fc86..61e88cf 100644
--- a/content/core-developers/postback-result.html
+++ b/content/core-developers/postback-result.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/postback-result.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="postback-result">Postback Result</h1>
 
-<p>####Description####</p>
+<h4 id="description">Description</h4>
 
 <p> <p>
 
@@ -142,7 +142,7 @@
  </p>
 </p>
 
-<p>####Parameters####</p>
+<h4 id="parameters">Parameters</h4>
 
 <p> <ul>
 
@@ -163,7 +163,7 @@
  </ul>
 </p>
 
-<p>####Examples####</p>
+<h4 id="examples">Examples</h4>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"registerThirdParty"</span> <span class="nt">&gt;</span>
diff --git a/content/core-developers/prepare-interceptor.html 
b/content/core-developers/prepare-interceptor.html
index 15c10bc..61fdf7b 100644
--- a/content/core-developers/prepare-interceptor.html
+++ b/content/core-developers/prepare-interceptor.html
@@ -171,7 +171,7 @@
  
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -183,14 +183,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  There are no known extension points to this interceptor.
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c">&lt;!-- Calls the params interceptor twice, allowing you to
        pre-load data for the second time parameters are set --&gt;</span>
diff --git a/content/core-developers/regex-field-validator-annotation.html 
b/content/core-developers/regex-field-validator-annotation.html
index 11f197e..910ccb6 100644
--- a/content/core-developers/regex-field-validator-annotation.html
+++ b/content/core-developers/regex-field-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> Validates a string field using a regular expression.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -191,7 +191,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@RegexFieldValidator</span><span class="o">(</span> <span 
class="n">key</span> <span class="o">=</span> <span 
class="s">"regex.field"</span><span class="o">,</span> <span 
class="n">regex</span> <span class="o">=</span> <span 
class="s">"yourregexp"</span><span class="o">)</span>
 
diff --git a/content/core-developers/required-field-validator-annotation.html 
b/content/core-developers/required-field-validator-annotation.html
index 500efe7..0137ed1 100644
--- a/content/core-developers/required-field-validator-annotation.html
+++ b/content/core-developers/required-field-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This validator checks that a field is non-null.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -185,7 +185,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@RequiredFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">)</span>
 
diff --git a/content/core-developers/required-string-validator-annotation.html 
b/content/core-developers/required-string-validator-annotation.html
index 40ddebb..970e8fc 100644
--- a/content/core-developers/required-string-validator-annotation.html
+++ b/content/core-developers/required-string-validator-annotation.html
@@ -132,12 +132,12 @@
 <p> This validator checks that a String field is not empty (i.e. non-null with 
a length &gt; 0).
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -191,7 +191,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@RequiredStringValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class="n [...]
 
diff --git a/content/core-developers/restful-action-mapper.html 
b/content/core-developers/restful-action-mapper.html
index aa24b79..8c2f450 100644
--- a/content/core-developers/restful-action-mapper.html
+++ b/content/core-developers/restful-action-mapper.html
@@ -155,7 +155,7 @@
 
 <p>Your action just needs a setArticleId() method, and requests such as 
/article/1, /article/2, etc will all map to that URL pattern.</p>
 
-<p>#####Restful2ActionMapper#####</p>
+<h5 id="restful2actionmapper">Restful2ActionMapper</h5>
 
 <p>Improved restful action mapper that adds several ReST-style improvements to 
action mapping, but supports fully-customized URL’s via XML. The two primary 
REST enhancements are:</p>
 
diff --git a/content/core-developers/result-annotation.html 
b/content/core-developers/result-annotation.html
index a8fb89b..61bcf31 100644
--- a/content/core-developers/result-annotation.html
+++ b/content/core-developers/result-annotation.html
@@ -198,7 +198,7 @@
 </div>
 <p>interface and other tidbits there.</p>
 
-<p>#####@Result Annotation Parameters#####</p>
+<h5 id="result-annotation-parameters">@Result Annotation Parameters</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code><span 
class="p">{</span><span class="err">float:right|width=300px</span><span 
class="p">}</span><span class="w">
   </span><span class="p">{</span><span class="err">info</span><span 
class="p">}</span><span class="w">
@@ -313,7 +313,7 @@
   <li>params - An Array of the parameters in the form {key1, value1, key2, 
value2}</li>
 </ul>
 
-<p>#####@Result – Defining a Single Result#####</p>
+<h5 id="result--defining-a-single-result">@Result – Defining a Single 
Result</h5>
 
 <p>Map the “success” result (explicitly named) to a Tile definition named 
“/home.page”.</p>
 
@@ -328,7 +328,7 @@ public class HomeAction extends ActionSupport {
 </code></pre>
 </div>
 
-<p>#####@Results – Defining Multiple Results#####</p>
+<h5 id="results--defining-multiple-results">@Results – Defining Multiple 
Results</h5>
 
 <p>Defines a set of results for an</p>
 
diff --git a/content/core-developers/roles-interceptor.html 
b/content/core-developers/roles-interceptor.html
index 57f292a..a278e31 100644
--- a/content/core-developers/roles-interceptor.html
+++ b/content/core-developers/roles-interceptor.html
@@ -134,7 +134,7 @@
  </p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -154,7 +154,7 @@
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>  <span 
class="c">&lt;!-- only allows the admin and member roles --&gt;</span>
   <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/scope-interceptor.html 
b/content/core-developers/scope-interceptor.html
index f3ccf17..ea151a4 100644
--- a/content/core-developers/scope-interceptor.html
+++ b/content/core-developers/scope-interceptor.html
@@ -155,7 +155,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -202,14 +202,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  <p>There are no know extension points for this interceptor.</p>
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c">&lt;!-- As the filter and orderBy parameters are common for all my 
browse-type actions,
       you can move control to the scope interceptor. In the session parameter 
you can list
diff --git a/content/core-developers/scoped-model-driven-interceptor.html 
b/content/core-developers/scoped-model-driven-interceptor.html
index 1428ceb..89bba1c 100644
--- a/content/core-developers/scoped-model-driven-interceptor.html
+++ b/content/core-developers/scoped-model-driven-interceptor.html
@@ -137,7 +137,7 @@
   
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -152,14 +152,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  There are no known extension points for this interceptor.
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> 
  <span class="nt">&lt;--</span> <span class="err">Basic</span> <span 
class="err">usage</span> <span class="err">--</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/servlet-config-interceptor.html 
b/content/core-developers/servlet-config-interceptor.html
index 2cc48de..d7e644e 100644
--- a/content/core-developers/servlet-config-interceptor.html
+++ b/content/core-developers/servlet-config-interceptor.html
@@ -162,7 +162,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -173,14 +173,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  <p>There are no known extension points for this interceptor.</p>
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
      <span class="nt">&lt;interceptor-ref</span> <span 
class="na">name=</span><span class="s">"servletConfig"</span><span 
class="nt">/&gt;</span>
diff --git a/content/core-developers/static-parameters-interceptor.html 
b/content/core-developers/static-parameters-interceptor.html
index 76c29db..96fde5b 100644
--- a/content/core-developers/static-parameters-interceptor.html
+++ b/content/core-developers/static-parameters-interceptor.html
@@ -138,7 +138,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -149,14 +149,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  <p>There are no extension points to this interceptor.</p>
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
      <span class="nt">&lt;interceptor-ref</span> <span 
class="na">name=</span><span class="s">"staticParams"</span><span 
class="nt">&gt;</span>
diff --git 
a/content/core-developers/string-length-field-validator-annotation.html 
b/content/core-developers/string-length-field-validator-annotation.html
index b994f82..97eff25 100644
--- a/content/core-developers/string-length-field-validator-annotation.html
+++ b/content/core-developers/string-length-field-validator-annotation.html
@@ -133,12 +133,12 @@
  If neither minLength nor maxLength is set, nothing will be done.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -219,7 +219,7 @@
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@StringLengthFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class [...]
 
diff --git a/content/core-developers/sunone-7-0.html 
b/content/core-developers/sunone-7-0.html
index d572aca..7454c6f 100644
--- a/content/core-developers/sunone-7-0.html
+++ b/content/core-developers/sunone-7-0.html
@@ -131,7 +131,7 @@
 
 <p>To use SunOne wkith the framework, you will need to grant the appropriate 
permissions. You can simply grant all permissions, or just the specific 
permissions the framework needs.</p>
 
-<p>#####Granting All Permissions#####</p>
+<h5 id="granting-all-permissions">Granting All Permissions</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
 grant {
@@ -141,7 +141,7 @@ grant {
 </code></pre>
 </div>
 
-<p>#####Granting Specific Permissions#####</p>
+<h5 id="granting-specific-permissions">Granting Specific Permissions</h5>
 
 <ul>
   <li>Grant Write Permissions to</li>
diff --git a/content/core-developers/timer-interceptor.html 
b/content/core-developers/timer-interceptor.html
index 8c300bb..534f673 100644
--- a/content/core-developers/timer-interceptor.html
+++ b/content/core-developers/timer-interceptor.html
@@ -135,7 +135,7 @@
  report its execution-time value.
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -151,13 +151,13 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> This interceptor can be extended to provide custom message format. Users 
should override the
  <code>invokeUnderTiming</code> method.
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="c">&lt;!-- records only the action's execution time --&gt;</span>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/token-interceptor.html 
b/content/core-developers/token-interceptor.html
index f3b5c71..5f80cd2 100644
--- a/content/core-developers/token-interceptor.html
+++ b/content/core-developers/token-interceptor.html
@@ -161,7 +161,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -172,7 +172,7 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  While not very common for users to extend, this interceptor is extended by 
the {@link TokenSessionStoreInterceptor}.
@@ -181,7 +181,7 @@
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/token-session-interceptor.html 
b/content/core-developers/token-session-interceptor.html
index bc8c5a2..d464ecf 100644
--- a/content/core-developers/token-session-interceptor.html
+++ b/content/core-developers/token-session-interceptor.html
@@ -146,7 +146,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -157,14 +157,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p> <p>
  There are no known extension points for this interceptor.
  </p>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/type-conversion-annotation.html 
b/content/core-developers/type-conversion-annotation.html
index 66e4477..9f2b248 100644
--- a/content/core-developers/type-conversion-annotation.html
+++ b/content/core-developers/type-conversion-annotation.html
@@ -145,12 +145,12 @@
  </p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The TypeConversion annotation can be applied at property and method 
level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table summary="">
  <thead>
@@ -203,7 +203,7 @@
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@Conversion</span><span class="o">()</span>
  <span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">ConversionAction</span> <span class="kd">implements</span> <span 
class="n">Action</span> <span class="o">{</span>
diff --git a/content/core-developers/using-field-validators.html 
b/content/core-developers/using-field-validators.html
index 091e620..a311f97 100644
--- a/content/core-developers/using-field-validators.html
+++ b/content/core-developers/using-field-validators.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/using-field-validators.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="using-field-validators">Using Field Validators</h1>
 
-<p>#####Description#####</p>
+<h5 id="description">Description</h5>
 
 <p>The followings show a simple example using Struts’ Field Validators</p>
 
diff --git a/content/core-developers/using-non-field-validators.html 
b/content/core-developers/using-non-field-validators.html
index 09142ff..a5b0f86 100644
--- a/content/core-developers/using-non-field-validators.html
+++ b/content/core-developers/using-non-field-validators.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/using-non-field-validators.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="using-non-field-validators">Using Non Field Validators</h1>
 
-<p>#####Description#####</p>
+<h5 id="description">Description</h5>
 
 <p>The followings show a simple example using Webwork’s Non Field 
Validators</p>
 
diff --git a/content/core-developers/using-visitor-field-validator.html 
b/content/core-developers/using-visitor-field-validator.html
index 60cc023..9154366 100644
--- a/content/core-developers/using-visitor-field-validator.html
+++ b/content/core-developers/using-visitor-field-validator.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/using-visitor-field-validator.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="using-visitor-field-validator">Using Visitor Field Validator</h1>
 
-<p>#####Description#####</p>
+<h5 id="description">Description</h5>
 
 <p>The followings show a simple example using Webwork’s Field Validators</p>
 
diff --git a/content/core-developers/validation-annotation.html 
b/content/core-developers/validation-annotation.html
index d478474..f8e1a04 100644
--- a/content/core-developers/validation-annotation.html
+++ b/content/core-developers/validation-annotation.html
@@ -133,12 +133,12 @@
  is no longer necessary.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The Validation annotation must be applied at Type level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -156,7 +156,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <p><strong>An Annotated Interface</strong></p>
 
diff --git a/content/core-developers/validation-interceptor.html 
b/content/core-developers/validation-interceptor.html
index ad7e223..753d5e5 100644
--- a/content/core-developers/validation-interceptor.html
+++ b/content/core-developers/validation-interceptor.html
@@ -158,7 +158,7 @@
 
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p>
  <ul>
@@ -176,14 +176,14 @@
 
 </p>
 
-<p>#####Extending the Interceptor#####</p>
+<h5 id="extending-the-interceptor">Extending the Interceptor</h5>
 
 <p>
  There are no known extension points for this interceptor.
 
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> 
  <span class="nt">&lt;action</span> <span class="na">name=</span><span 
class="s">"someAction"</span> <span class="na">class=</span><span 
class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/validations-annotation.html 
b/content/core-developers/validations-annotation.html
index f323409..4210c19 100644
--- a/content/core-developers/validations-annotation.html
+++ b/content/core-developers/validations-annotation.html
@@ -132,12 +132,12 @@
 <p> <p>If you want to use several annotations of the same type, these 
annotations must be nested within the @Validations() annotation.</p>
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>Used at METHOD level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
 
@@ -216,7 +216,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@Validations</span><span class="o">(</span>
            <span class="n">requiredFields</span> <span class="o">=</span>
@@ -252,7 +252,7 @@
 </code></pre>
 </div>
 
-<p>#####Different validations per method#####</p>
+<h5 id="different-validations-per-method">Different validations per method</h5>
 
 <p>Different validations per method is NOT supported for client-side 
validation!</p>
 
diff --git a/content/core-developers/velocity-result.html 
b/content/core-developers/velocity-result.html
index e576e29..f75b43c 100644
--- a/content/core-developers/velocity-result.html
+++ b/content/core-developers/velocity-result.html
@@ -140,7 +140,7 @@
 
 </p>
 
-<p>####Parameters####</p>
+<h4 id="parameters">Parameters</h4>
 
 <p>
 
@@ -169,7 +169,7 @@
 
 </p>
 
-<p>####Examples####</p>
+<h4 id="examples">Examples</h4>
 
 <div class="highlighter-rouge"><pre class="highlight"><code>
  <span class="nt">&lt;result</span> <span class="na">name=</span><span 
class="s">"success"</span> <span class="na">type=</span><span 
class="s">"velocity"</span><span class="nt">&gt;</span>
diff --git a/content/core-developers/visitor-field-validator-annotation.html 
b/content/core-developers/visitor-field-validator-annotation.html
index a43f415..be1a3c1 100644
--- a/content/core-developers/visitor-field-validator-annotation.html
+++ b/content/core-developers/visitor-field-validator-annotation.html
@@ -139,12 +139,12 @@
  by the validations for the Object message.
 </p>
 
-<p>#####Usage#####</p>
+<h5 id="usage">Usage</h5>
 
 <p> <p>The annotation must be applied at method level.</p>
 </p>
 
-<p>#####Parameters#####</p>
+<h5 id="parameters">Parameters</h5>
 
 <p> <table class="confluenceTable" summary="">
  <tr>
@@ -198,7 +198,7 @@
  </table>
 </p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <div class="highlighter-rouge"><pre class="highlight"><code> <span 
class="nd">@VisitorFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</span><span class="o">,</span> <span class="n"> [...]
 
diff --git a/content/core-developers/weblogic-6-1.html 
b/content/core-developers/weblogic-6-1.html
index 1103e74..53c3871 100644
--- a/content/core-developers/weblogic-6-1.html
+++ b/content/core-developers/weblogic-6-1.html
@@ -129,7 +129,7 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/weblogic-6-1.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="weblogic-61">WebLogic 6.1</h1>
 
-<p>####Running on Weblogic Server 6.1####</p>
+<h4 id="running-on-weblogic-server-61">Running on Weblogic Server 6.1</h4>
 
 <p>This document describes why the framework doesn’t work “as-is” on Weblogic 
Server 6.1 and shows how to build an additional JAR that will fix the 
problems.</p>
 
@@ -137,11 +137,11 @@
 
 <p>The first part of this document describes the technical problems and the 
theoretical solution.</p>
 
-<p>#####Why It Doesn’t Just Work#####</p>
+<h5 id="why-it-doesnt-just-work">Why It Doesn’t Just Work</h5>
 
 <p>Weblogic 6.1 was published just prior to the finalization of the Servlet 
2.3 specification. The incompatibility is that servlet filters and listeners in 
Weblogic 6.1 do not work with the 2.3 spec primarily because the servlet 
context is not retrieved in the same way.  This causes virtually all filter 
initialization operations to fail with an AbstractMethodError exception.</p>
 
-<p>#####How the Framework is Modified#####</p>
+<h5 id="how-the-framework-is-modified">How the Framework is Modified</h5>
 
 <p>In Servlet 2.3, the servlet context is available from the session object; 
this is not true for Weblogic Server 6.1. Hence, filters and listeners must be 
modified to retrieve the servlet context from a different source; this is 
accomplished by retrieving the servlet context from the FilterConfig passed to 
the servlet filters during initialzation.</p>
 
@@ -200,7 +200,7 @@
 
 <p>A singleton class whose sole purpose is to hold the servlet context so that 
listener classes have access to it.</p>
 
-<p>#####Setting Up to Run on Weblogic 6.1#####</p>
+<h5 id="setting-up-to-run-on-weblogic-61">Setting Up to Run on Weblogic 
6.1</h5>
 
 <p><strong>Building your own project</strong></p>
 
@@ -229,7 +229,7 @@
   </tbody>
 </table>
 
-<p>#####FAQ#####</p>
+<h5 id="faq">FAQ</h5>
 
 <p><strong>I still get the AbstractMethodError Exception when Weblogic Server 
starts up.  What am I doing wrong?</strong></p>
 
diff --git a/content/core-developers/weblogic.html 
b/content/core-developers/weblogic.html
index b20b15d..45822f6 100644
--- a/content/core-developers/weblogic.html
+++ b/content/core-developers/weblogic.html
@@ -144,7 +144,7 @@
 
 </blockquote>
 
-<p>#####Adding an struts-velocity.properties Configuration File#####</p>
+<h5 id="adding-an-struts-velocityproperties-configuration-file">Adding an 
struts-velocity.properties Configuration File</h5>
 
 <ul>
   <li>In the</li>
@@ -230,11 +230,11 @@ class.resource.loader.cache = true
   <li>Redeploy a fresh WAR to WebLogic.</li>
 </ul>
 
-<p>#####NPE when using Struts 2 Jasper Reports plugin#####</p>
+<h5 id="npe-when-using-struts-2-jasper-reports-plugin">NPE when using Struts 2 
Jasper Reports plugin</h5>
 
 <p>When using mentioned plugin in Weblogic 11g you can get 
NullPointerException within Struts 2. To solve the problem you must enable the 
“Archived Real Path” global property in Weblogic admin console &gt; 
configuration &gt; Web Applications. It’s because JasperReportsResult 
determines the report directory base on 
servletContext.getRealPath(finalLocation).</p>
 
-<p>#####Convention based application doesn’t work#####</p>
+<h5 id="convention-based-application-doesnt-work">Convention based application 
doesn’t work</h5>
 
 <p>When you deployed an application that base on the Convention Plugin and you 
get an error messages that says:</p>
 
diff --git a/content/core-developers/websphere.html 
b/content/core-developers/websphere.html
index 9816775..ad65ba3 100644
--- a/content/core-developers/websphere.html
+++ b/content/core-developers/websphere.html
@@ -129,11 +129,11 @@
     <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/master/source/core-developers/websphere.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     <h1 id="websphere">WebSphere</h1>
 
-<p>#####WebSphere 5.1#####</p>
+<h5 id="websphere-51">WebSphere 5.1</h5>
 
 <p>(ok) <a 
href="http://forums\.opensymphony\.com/thread\.jspa?threadID=26068";>Be sure to 
install WebSphere’s Fix Pack 
1</a>^[http://forums.opensymphony.com/thread.jspa?threadID=26068].</p>
 
-<p>#####WebSphere 6#####</p>
+<h5 id="websphere-6">WebSphere 6</h5>
 
 <p>See forum thread: <a 
href="http://forums\.opensymphony\.com/message\.jspa?messageID=119574\#119574";>http://forums.opensymphony.com/message.jspa?messageID=119574#119574</a></p>
 
@@ -250,7 +250,7 @@ public void init(ServletConfig arg0) throws 
ServletException \{
 
 </blockquote>
 
-<p>#####WebSphere 6.5#####</p>
+<h5 id="websphere-65">WebSphere 6.5</h5>
 
 <p>To make struts2 work in Websphere, one has to set Websphere specific 
properties, you may want to add that to the wiki:</p>
 
@@ -302,7 +302,7 @@ if 
webContainerDetails.find("com.ibm.ws.webcontainer.invokefilterscompatibility"
 
 <p>Thanks to Christoph Nenning (christoph dot nenning at lex-com at net)</p>
 
-<p>#####JSESSIONID handling#####</p>
+<h5 id="jsessionid-handling">JSESSIONID handling</h5>
 
 <p>IBM WebSphere Application Server uses the JSESSIONID information to keep 
track of the client session. If you have an application where the application 
client must navigate across multiple WebSphere Application Server nodes 
residing in same domain, then the JSESSIONID information may be over-written on 
the client because multiple JSESSIONID cookies received with the same name and 
path.</p>
 
diff --git a/content/core-developers/zero-configuration.html 
b/content/core-developers/zero-configuration.html
index e9afe14..f5ba212 100644
--- a/content/core-developers/zero-configuration.html
+++ b/content/core-developers/zero-configuration.html
@@ -151,7 +151,7 @@
 
 <p>As this is a new feature, and still being field-tested, the documentation 
is sketchy. But, here’s what we have so far:</p>
 
-<p>#####Finding Actions#####</p>
+<h5 id="finding-actions">Finding Actions</h5>
 
 <p>Set the “actionPackages” filter init param to a comma-separated list of 
packages containing Action classes in web.xml. The packages and their 
subpackages will be scanned. All classes in the designated packages that 
implement Action or end in “Action” are examined.  The latter is to allow for 
POJO Actions that don’t implement the Action interface.</p>
 
@@ -172,11 +172,11 @@
 
 <p>We should probably add an action annotation, so that POJOs can itall with 
annotations.</p>
 
-<p>#####Examples#####</p>
+<h5 id="examples">Examples</h5>
 
 <p>The only example right now is in the showcase, where the person package 
uses the classpath scanning configuration.</p>
 
-<p>#####Action and Package name#####</p>
+<h5 id="action-and-package-name">Action and Package name</h5>
 
 <p>The subpackage name makes the namespace, and the action class name makes 
the action name.  If there is an “Action” suffix, it is dropped before creating 
the action name. Therefore, if the configured package is 
<em>com.myapp.actions</em>  and the Action is <em>com.myapp.actions.</em> 
<strong>member</strong>.EditAction, you can access it via <a 
href="http://server/myapp/member/edit\.action";>http://server/myapp/member/edit.action</a>.
  For multi-word actions, the first letter is lower-ca [...]
 
@@ -190,15 +190,15 @@
 </div>
 <p>.</p>
 
-<p>#####Results#####</p>
+<h5 id="results">Results</h5>
 
 <p><a href="#PAGE_43811">Results</a> are defined with the Result and Results 
annotations at the <strong>class level</strong>.</p>
 
-<p>#####Namespaces#####</p>
+<h5 id="namespaces">Namespaces</h5>
 
 <p>The <a href="#PAGE_68488">Namespace Annotation</a> overrides the 
namespace.</p>
 
-<p>#####Parent Package#####</p>
+<h5 id="parent-package">Parent Package</h5>
 
 <p>The <a href="#PAGE_68490">ParentPackage Annotation</a> configures the XWork 
package (an XWork package is created per Java package) to extend one or more 
defined packages. The best place for this annotation is on the package via 
the</p>
 
@@ -234,11 +234,11 @@ import org.apache.struts2.config.ParentPackage;
 </code></pre>
 </div>
 
-<p>#####Feedback#####</p>
+<h5 id="feedback">Feedback</h5>
 
 <p>Stay tuned to this page for additional details and documentation. If you 
have a chance to  try the zero configuration feature, please share any 
experiences on dev@ and here.</p>
 
-<p>#####See also#####</p>
+<h5 id="see-also">See also</h5>
 
 <ul>
   <li>
diff --git a/content/tag-developers/cewolf-charts-using-velocity-templates.html 
b/content/tag-developers/cewolf-charts-using-velocity-templates.html
index 05b07e3..61ef214 100644
--- a/content/tag-developers/cewolf-charts-using-velocity-templates.html
+++ b/content/tag-developers/cewolf-charts-using-velocity-templates.html
@@ -129,7 +129,7 @@
     
     <h1 id="cewolf-charts-using-velocity-templates">CeWolf charts using 
Velocity templates</h1>
 
-<p>#####Setup CeWolf#####</p>
+<h5 id="setup-cewolf">Setup CeWolf</h5>
 
 <p><strong>This currently only works with the most recent CVS version of 
WebWork but should be available in the upcoming 2.0 beta2</strong></p>
 
@@ -158,7 +158,7 @@
 </code></pre>
 </div>
 
-<p>#####Create a DatasetProducer#####</p>
+<h5 id="create-a-datasetproducer">Create a DatasetProducer</h5>
 
 <p>This is the default DatasetProducer from the CeWolf tutorial.</p>
 
@@ -205,7 +205,7 @@ public class PageViewCountData implements DatasetProducer, 
Serializable {
 </code></pre>
 </div>
 
-<p>#####Create the Velocity template#####</p>
+<h5 id="create-the-velocity-template">Create the Velocity template</h5>
 
 <p>With the new WebWork refactorings, nested JSP tags with arbitrary 
parameters can be used, so we convert the CeWolf tutorial JSP script to 
Velocity.</p>
 
@@ -246,7 +246,7 @@ $req.session.setAttribute("pageViews", $pageViews )
 
 <p>As you may notice, CeWolf looks up it’s DatasetProducer in the request 
attributes - it has no knowledge of the Velocity context. That’s why we call 
$req.session.setAttribute(). The other attributes (such as the chartid) will be 
set by CeWolf, so we don’t need to care about them.</p>
 
-<p>#####Setup an action to disply the template#####</p>
+<h5 id="setup-an-action-to-disply-the-template">Setup an action to disply the 
template</h5>
 
 <p>Now you should be able to fire up an action in the usual way with this 
template as the result and a nice chart should appear.</p>
 
diff --git a/content/tag-developers/tag-syntax.html 
b/content/tag-developers/tag-syntax.html
index a2bf156..b4abf51 100644
--- a/content/tag-developers/tag-syntax.html
+++ b/content/tag-developers/tag-syntax.html
@@ -163,7 +163,7 @@
 </div>
 <p>.</p>
 
-<p>####Non-String Attributes####</p>
+<h4 id="non-string-attributes">Non-String Attributes</h4>
 
 <p>The HTTP protocol is text-based, but some tags have non-String attribute 
types, like</p>
 
@@ -218,7 +218,7 @@
 </code></pre>
 </div>
 
-<p>####value is an Object!####</p>
+<h4 id="value-is-an-object">value is an Object!</h4>
 
 <p>Most often, the</p>
 
@@ -322,7 +322,7 @@
   </tbody>
 </table>
 
-<p>####Expression Language Notations####</p>
+<h4 id="expression-language-notations">Expression Language Notations</h4>
 
 <p>|&lt;p&gt;Username: ${user.username}&lt;/p&gt;| A JavaBean object in a 
standard context in Freemarker, Velocity, or JSTL EL (Not OGNL). |
 |—————————————–|——————————————————————————————|
@@ -342,7 +342,7 @@
   list=”#{‘username’:’trillian’,\
     ‘username’:’zaphod’}” /&gt;|  A static Map, as in 
put(“username”,”trillian”). |</p>
 
-<p>####Disallowed property names####</p>
+<h4 id="disallowed-property-names">Disallowed property names</h4>
 
 <p>The following names of property are disallowed:</p>
 
diff --git a/content/tag-developers/velocity-tags.html 
b/content/tag-developers/velocity-tags.html
index 4d34eb8..92243e9 100644
--- a/content/tag-developers/velocity-tags.html
+++ b/content/tag-developers/velocity-tags.html
@@ -157,11 +157,11 @@
 </code></pre>
 </div>
 
-<p>####Block and Inline Tags####</p>
+<h4 id="block-and-inline-tags">Block and Inline Tags</h4>
 
 <p>Some VM tags require an #end statement while others do not. The 
inconsistency arises from a limitation in Velocity where tags must declare if 
they are a <em>block</em>  or <em>inline</em>  tag up front. As such, by 
default all tags are <em>inline</em>  except for a few key ones, such as the <a 
href="#PAGE_14201">form</a> tag.</p>
 
-<p>####Back To:####</p>
+<h4 id="back-to">Back To:</h4>
 
 
   </section>
diff --git a/content/tag-developers/velocity.html 
b/content/tag-developers/velocity.html
index fcdb8a9..a1a7409 100644
--- a/content/tag-developers/velocity.html
+++ b/content/tag-developers/velocity.html
@@ -149,7 +149,7 @@
 
 </blockquote>
 
-<p>####Getting Started####</p>
+<h4 id="getting-started">Getting Started</h4>
 
 <p>Getting started with Velocity is as simple as ensuring all the dependencies 
are included in your project’s classpath. Other than that, 
<em>struts-default.xml</em>  already configures the <em>Velocity Result</em> 
.</p>
 
@@ -189,7 +189,7 @@ Hello, ${name}
 
 <p>There are few more details of interest, such as how templates are loaded 
and variables are resolved.</p>
 
-<p>####Template Loading####</p>
+<h4 id="template-loading">Template Loading</h4>
 
 <p>The framework looks for Velocity templates in two locations (in this 
order):</p>
 
@@ -219,7 +219,7 @@ Hello, ${name}
   </tbody>
 </table>
 
-<p>####Variable Resolution####</p>
+<h4 id="variable-resolution">Variable Resolution</h4>
 
 <p>In Velocity, there are three sources for variables, searched in a specific 
order.</p>
 
@@ -298,7 +298,7 @@ Click &lt;a href="${url}"&gt;here&lt;/a&gt;!
   </tbody>
 </table>
 
-<p>####Configuring Velocity####</p>
+<h4 id="configuring-velocity">Configuring Velocity</h4>
 
 <p>You can configure Velocity by placing configuration items in 
<em>velocity.properties</em> .</p>
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@struts.apache.org" <commits@struts.apache.org>'].

Reply via email to