You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2017/10/27 15:38:25 UTC

[struts-site] branch master updated (ffd3820 -> 1c8bdd7)

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

lukaszlenart pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/struts-site.git.


    from ffd3820  WW-4878 Documents missing interceptors
     new 5fbd536  Fixes file name
     new 8ebf493  Fixes small typo
     new 36ad4d2  Uses proper code style
     new 1c8bdd7  Cleans up all interceptors' pages

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 source/core-developers/alias-interceptor.md        |  54 ++----
 ... => annotation-parameter-filter-interceptor.md} |   0
 .../annotation-workflow-interceptor.md             |   4 +-
 source/core-developers/chaining-interceptor.md     | 116 ++++---------
 source/core-developers/checkbox-interceptor.md     |  65 ++------
 .../conversion-error-interceptor.md                |  80 ++-------
 source/core-developers/cookie-interceptor.md       | 112 ++++---------
 source/core-developers/debugging-interceptor.md    |  60 ++-----
 .../default-workflow-interceptor.md                | 105 ++++--------
 source/core-developers/exception-interceptor.md    |  84 +++-------
 .../execute-and-wait-interceptor.md                | 116 +++++--------
 source/core-developers/file-upload-interceptor.md  | 143 ++++------------
 source/core-developers/i18n-interceptor.md         |  41 +++--
 source/core-developers/interceptors.md             |  10 +-
 ...ogger-interceptor.md => logging-interceptor.md} |   0
 .../core-developers/message-store-interceptor.md   |  81 ++++-----
 source/core-developers/model-driven-interceptor.md |   5 +-
 source/core-developers/multiselect-interceptor.md  |  39 ++---
 source/core-developers/no-op-interceptor.md        |  19 +--
 .../parameter-filter-interceptor.md                |  77 +++------
 source/core-developers/prepare-interceptor.md      |  98 +++--------
 source/core-developers/roles-interceptor.md        |  45 ++---
 source/core-developers/scope-interceptor.md        | 181 ++++++++-------------
 .../scoped-model-driven-interceptor.md             |  59 ++-----
 .../core-developers/servlet-config-interceptor.md  |  85 +++-------
 .../static-parameters-interceptor.md               |  49 ++----
 source/core-developers/timer-interceptor.md        |  52 ++----
 source/core-developers/token-interceptor.md        |  88 +++-------
 .../core-developers/token-session-interceptor.md   |  63 ++-----
 source/core-developers/validation-interceptor.md   |  89 +++-------
 30 files changed, 576 insertions(+), 1444 deletions(-)
 rename source/core-developers/{annotation-paramter-filter-interceptor.md => annotation-parameter-filter-interceptor.md} (100%)
 rename source/core-developers/{logger-interceptor.md => logging-interceptor.md} (100%)

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

[struts-site] 04/04: Cleans up all interceptors' pages

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1c8bdd73337e88886bf501d7c812401966137c11
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Fri Oct 27 17:38:09 2017 +0200

    Cleans up all interceptors' pages
---
 source/core-developers/alias-interceptor.md        |  54 ++----
 source/core-developers/chaining-interceptor.md     | 116 ++++---------
 source/core-developers/checkbox-interceptor.md     |  65 ++------
 .../conversion-error-interceptor.md                |  80 ++-------
 source/core-developers/cookie-interceptor.md       | 112 ++++---------
 source/core-developers/debugging-interceptor.md    |  60 ++-----
 .../default-workflow-interceptor.md                | 105 ++++--------
 source/core-developers/exception-interceptor.md    |  84 +++-------
 .../execute-and-wait-interceptor.md                | 116 +++++--------
 source/core-developers/file-upload-interceptor.md  | 143 ++++------------
 source/core-developers/i18n-interceptor.md         |  41 +++--
 source/core-developers/interceptors.md             |  10 +-
 ...ogger-interceptor.md => logging-interceptor.md} |   0
 .../core-developers/message-store-interceptor.md   |  81 ++++-----
 source/core-developers/model-driven-interceptor.md |   5 +-
 source/core-developers/multiselect-interceptor.md  |  39 ++---
 source/core-developers/no-op-interceptor.md        |  19 +--
 .../parameter-filter-interceptor.md                |  77 +++------
 source/core-developers/prepare-interceptor.md      |  98 +++--------
 source/core-developers/roles-interceptor.md        |  45 ++---
 source/core-developers/scope-interceptor.md        | 181 ++++++++-------------
 .../scoped-model-driven-interceptor.md             |  59 ++-----
 .../core-developers/servlet-config-interceptor.md  |  85 +++-------
 .../static-parameters-interceptor.md               |  49 ++----
 source/core-developers/timer-interceptor.md        |  52 ++----
 source/core-developers/token-interceptor.md        |  88 +++-------
 .../core-developers/token-session-interceptor.md   |  63 ++-----
 source/core-developers/validation-interceptor.md   |  89 +++-------
 28 files changed, 574 insertions(+), 1442 deletions(-)

diff --git a/source/core-developers/alias-interceptor.md b/source/core-developers/alias-interceptor.md
index a49718a..1940fc9 100644
--- a/source/core-developers/alias-interceptor.md
+++ b/source/core-developers/alias-interceptor.md
@@ -1,59 +1,30 @@
 ---
-layout: core-developers
+layout: default
 title: Alias Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Alias Interceptor
 
+The aim of this Interceptor is to alias a named parameter to a different named parameter. By acting as the glue between 
+actions sharing similar parameters (but with different names), it can help greatly with action chaining.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
-<p>
- The aim of this Interceptor is to alias a named parameter to a different named parameter. By acting as the glue
- 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>.
- 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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
+Action's alias expressions should be in the form of `#{ "name1" : "alias1", "name2" : "alias2" }`. This means that assuming 
+an action (or something else in the stack) has a value for the expression named `name1` and the action this interceptor 
+is applied to has a setter named `alias1`, `alias1` will be set with the value from `name1`.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>aliasesKey (optional) - the name of the action parameter to look for the alias map (by default this is
- <i>aliases</i>).</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
+ - `aliasesKey` (optional) - the name of the action parameter to look for the alias map (by default this is aliases
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
-<p>
- This interceptor does not have any known extension points.
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
+This interceptor does not have any known extension points.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
-
 ```xml
  <action name="someAction" class="com.examples.SomeAction">
      <!-- The value for the foo parameter will be applied as if it were named bar -->
@@ -63,7 +34,4 @@ title: Alias Interceptor
      <interceptor-ref name="basicStack"/>
      <result name="success">good_result.ftl</result>
  </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.AliasInterceptor {% endcomment %}
diff --git a/source/core-developers/chaining-interceptor.md b/source/core-developers/chaining-interceptor.md
index 8c81a8b..0906cd8 100644
--- a/source/core-developers/chaining-interceptor.md
+++ b/source/core-developers/chaining-interceptor.md
@@ -1,109 +1,56 @@
 ---
-layout: core-developers
+layout: default
 title: Chaining Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Chaining Interceptor
 
 ## Description
 
-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 [Unchainable](http://struts\.apache\.org/maven/xwork\-core/apidocs/com/opensymphony/xwork2/Unchainable\.html)^[http://struts\.apache\.org/maven/xwork\-core/apidocs/com/opensymphony/xwork2/Unchainable\.html]\. A collection of optional 
+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 [Unchainable](/maven/struts2-core/apidocs/com/opensymphony/xwork2/Unchainable.html). 
+A collection of optional `includes` and `excludes` 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 [ReflectionProvider#copy(Object, Object, java.util.Map, java.util.Collection, java.util.Collection)](/maven/struts2-core/apidocs/com/opensymphony/xwork2/util/reflection/ReflectionProvider.html#copy(java.lang.Object, java.lang.Object, java.util.Map, java.util.Collection, java.util.Collection))
+for more information.
 
-~~~~~~~
-includes
-~~~~~~~
- and 
+> It is important to remember that this interceptor does nothing if there are no objects already on the stack. 
+> This means two things:
+> 1. you can safely apply it to all your actions without any worry of adverse affects.
+> 2. 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.
 
-~~~~~~~
-excludes
-~~~~~~~
- may be provided to control how and which parameters are copied\. Only 
+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:
 
-~~~~~~~
-includes
-~~~~~~~
- or 
+ - `struts.xwork.chaining.copyErrors` - set to true to copy Action Errors
+ - `struts.xwork.chaining.copyFieldErrors` - set to true to copy Field Errors
+ - `struts.xwork.chaining.copyMessages` - set to true to copy Action Messages
 
-~~~~~~~
-excludes
-~~~~~~~
- may be specified\. Specifying both results in undefined behavior\. See the javadocs for [ReflectionProvider\#copy(Object, Object, java\.util\.Map, java\.util\.Collection, java\.util\.Collection)](http://struts\.apache\.org/maven/xwork\-core/apidocs/com/opensymphony/xwork2/util/reflection/ReflectionProvider\.html\#copy(java\.lang\.Object, java\.lang\.Object, java\.util\.Map, java\.util\.Collection, java\.util\.Collection))^[http://struts\.apache\.org/maven/xwork\-core/apidocs/com/opensym [...]
+### Example
 
-
-
-| It is important to remember that this interceptor does nothing if there are no objects already on the stack\. This means two things:
-
-| 
-
-| 
-
-| 1. you can safely apply it to all your actions without any worry of adverse affects.
-
-| 
-
-| 2. 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.
-
-| 
-
-| 
-
- 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:
-
-+ 
-
-~~~~~~~
-struts.xwork.chaining.copyErrors
-~~~~~~~
-  \- set to true to copy Action Errors
-
-+ 
-
-~~~~~~~
-struts.xwork.chaining.copyFieldErrors
-~~~~~~~
-  \- set to true to copy Field Errors
-
-+ 
-
-~~~~~~~
-struts.xwork.chaining.copyMessages
-~~~~~~~
-  \- set to true to copy Action Messages
-
-__Example:__
-
-
-
-~~~~~~~
+```xml
 <constant name="struts.xwork.chaining.copyErrors" value="true"/>
-~~~~~~~
+```
 
 ## Parameters
 
-+ 
-
-~~~~~~~
-excludes
-~~~~~~~
-  (optional) \- the list of parameter names to exclude from copying (all others will be included)
-
-+ 
-
-~~~~~~~
-includes
-~~~~~~~
- (optional) \- the list of parameter names to include when copying (all others will be excluded)
+ - `excludes` (optional) - the list of parameter names to exclude from copying (all others will be included)
+ - `includes` (optional) - the list of parameter names to include when copying (all others will be excluded)
 
 ## Extending the Interceptor
 
-There are no known extension points to this interceptor\.
+There are no known extension points to this interceptor.
 
 ## Examples
 
 Simple example how to chain two actions
 
-
-~~~~~~~
+```xml
 <action name="someAction" class="com.examples.SomeAction">
     <interceptor-ref name="basicStack"/>
 	<result name="success" type="chain">otherAction</result>
@@ -114,12 +61,11 @@ Simple example how to chain two actions
 	<interceptor-ref name="basicStack"/>
 	<result name="success">good_result.ftl</result>
 </action>
-~~~~~~~
+```
 
 This examples chains two actions but only one property from first action is copied to another
 
-
-~~~~~~~
+```xml
 <action name="someAction" class="com.examples.SomeAction">
     <interceptor-ref name="basicStack"/>
 	<result name="success" type="chain">otherAction</result>
@@ -131,4 +77,4 @@ This examples chains two actions but only one property from first action is copi
 	</interceptor-ref>
 	<result name="success">good_result.ftl</result>
 </action>
-~~~~~~~
+```
diff --git a/source/core-developers/checkbox-interceptor.md b/source/core-developers/checkbox-interceptor.md
index 4bd1fd2..a3e1857 100644
--- a/source/core-developers/checkbox-interceptor.md
+++ b/source/core-developers/checkbox-interceptor.md
@@ -1,65 +1,26 @@
 ---
-layout: core-developers
+layout: default
 title: Checkbox Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Checkbox Interceptor
 
+This interceptor is  defined in the `defaultStack`. It checks each form parameter submitted  to the action and if it 
+finds one with a prefix of `_checkbox` it inserts a value for a parameter whose name is derived from the suffix 
+to `_checkbox` if it does not exist. The default value inserted is `false` but this can be changed by setting 
+the `uncheckedValue` parameter on the interceptor.
 
-
-~~~~~~~
-org.apache.struts2.interceptor.CheckboxInterceptor
-~~~~~~~
- is in the 
-
-~~~~~~~
-defaultStack
-~~~~~~~
-\. It checks each form parameter submitted to the action and if it finds one with a prefix of 
-
-~~~~~~~
-_checkbox
-~~~~~~~
- it inserts a value for a parameter whose name is derived from the suffix to 
-
-~~~~~~~
-_checkbox
-~~~~~~~
- if it does not exist\. The default value inserted is 
-
-~~~~~~~
-false
-~~~~~~~
- but this can be changed by setting the 
-
-~~~~~~~
-uncheckedValue
-~~~~~~~
- parameter on the interceptor\.
-
-This means that a checkbox can be accompanied by a hidden input with the same name but a prefix of 
-
-~~~~~~~
-_checkbox
-~~~~~~~
- 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\.
+This means that a checkbox can be accompanied by a hidden input with the same name but a prefix of `_checkbox` 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.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.CheckboxInterceptor {% endcomment %}
-<p> <ul>
- <li>setUncheckedValue - The default value of an unchecked box can be overridden by setting the 'uncheckedValue' property.</li>
- </ul>
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.CheckboxInterceptor {% endcomment %}
+ - `uncheckedValue` - the default value of an unchecked box can be overridden by setting the `uncheckedValue` property.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.CheckboxInterceptor {% endcomment %}
-<p>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.CheckboxInterceptor {% endcomment %}
+This interceptor does not have any known extension points.
diff --git a/source/core-developers/conversion-error-interceptor.md b/source/core-developers/conversion-error-interceptor.md
index 98d057f..6136512 100644
--- a/source/core-developers/conversion-error-interceptor.md
+++ b/source/core-developers/conversion-error-interceptor.md
@@ -1,87 +1,43 @@
 ---
-layout: core-developers
+layout: default
 title: Conversion Error Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Conversion Error Interceptor
 
-The Struts 2 conversion error interceptor is a subclass of the XWork 2 conversion error interceptor\.
+Conversion Error Interceptor adds conversion errors from the ActionContext to the Action's field errors.
 
-From the Javadocs of the XWork 2 interceptor:
-
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor {% endcomment %}
-<p> ConversionErrorInterceptor adds conversion errors from the ActionContext to the Action's field errors.
-
- <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>
+This interceptor adds any error found in the {@link ActionContext}'s conversionErrors map as a field error (provided that 
+the action implements `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>
- <b>Note:</b> Since 2.5.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>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor {% endcomment %}
-
-From the Javadocs of the Struts 2 interceptor:
+> Note: Since 2.5.2, this interceptor extends `MethodFilterInterceptor`, therefore being able to deal with `excludeMethods` 
+> / `includeMethods` parameters. See [Workflow Interceptor](default-workflow-interceptor.html) for documentation and 
+> examples on how to use this feature.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
-<p> <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>
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
+This interceptor extends `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 `ConversionErrorInterceptor` for more information, as well as the Type Conversion documentation.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>None</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
+There are no parameters for this interceptor.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
-<p> <p>
- There are no known extension points for this interceptor.
- </p>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
-
 ```xml
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="params"/>
      <interceptor-ref name="conversionError"/>
      <result name="success">good_result.ftl</result>
  </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.StrutsConversionErrorInterceptor {% endcomment %}
diff --git a/source/core-developers/cookie-interceptor.md b/source/core-developers/cookie-interceptor.md
index 167a300..6381b4f 100644
--- a/source/core-developers/cookie-interceptor.md
+++ b/source/core-developers/cookie-interceptor.md
@@ -1,98 +1,49 @@
 ---
-layout: core-developers
+layout: default
 title: Cookie Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Cookie Interceptor
 
+The aim of this interceptor is to set values in the stack/action based on cookie name/value of interest.
 
+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)`.
 
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
-<p>
- <p>
- The aim of this interceptor is to set values in the stack/action based on cookie name/value
- of interest.
- </p>
+If `cookiesName` is left empty it will assume that no cookie will be injected into Struts' action.
+ 
+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>
- 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>
+If `cookiesValue` is left empty it will assume that all cookie that match the `cookieName` parameter will be injected 
+into Struts' action.
 
- <p>
- If cookiesName is left empty it will assume that no cookie will be injected
- into Struts' action.
- </p>
+The action could implement `CookiesAware` in order to have a `Map` of filtered cookies set into it.
 
- <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>
+## Parameters
 
- <p>
- If cookiesValue is left empty it will assume that all cookie that match the cookieName
- parameter will be injected into Struts' action.
- </p>
+ - `cookiesName` (mandatory) - Name of cookies to be injected into the action. If more than one cookie name is desired 
+   it could be comma-separated. If all cookies name is desired, it could simply be *, an asterisk. When many cookies 
+   name are comma-separated either of the cookie that match the name in the comma-separated list will be qualified.
+ - `cookiesValue` (mandatory) - Value of cookies that if its name matches cookieName attribute and its value matched 
+   this, will be injected into Struts' action. If more than one cookie name is desired it could be comma-separated. 
+   If left empty, it will assume any value would be ok. If more than one value is specified (comma-separated) it will 
+   assume a match if either value is matched.
+ - `acceptCookieNames` (optional) - Pattern used to check if name of cookie matches the provided pattern.
 
- <p>
- The action could implement {@link CookiesAware} in order to have a {@link Map}
- of filtered cookies set into it.
- </p>
+## Extending the Interceptor
 
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
+ - `populateCookieValueIntoStack` - this method will decide if this cookie value is qualified to be populated into 
+   the value stack (hence into the action itself)
+ - `injectIntoCookiesAwareAction` - this method will inject selected cookies (as a `java.util.Map`) into action 
+   that implements `CookiesAware`.
 
-Parameters
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
-<p>
- <ul>
-      <li>cookiesName (mandatory) - Name of cookies to be injected into the action. If more
-                                                                 than one cookie name is desired it could be comma-separated.
-                                                                 If all cookies name is desired, it could simply be *, an asterik.
-                                                                 When many cookies name are comma-separated either of the cookie
-                                                        that match the name in the comma-separated list will be qualified.</li>
-     <li>cookiesValue (mandatory) - Value of cookies that if its name matches cookieName attribute
-                                                         and its value matched this, will be injected into Struts'
-                                                         action. If more than one cookie name is desired it could be
-                                                         comma-separated. If left empty, it will assume any value would
-                                                         be ok. If more than one value is specified (comma-separated)
-                                                         it will assume a match if either value is matched.</li>
-     <li>acceptCookieNames (optional) - Pattern used to check if name of cookie matches the provided patter, to </li>
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
-
-Extending the Interceptor
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
-<p>
- <ul>
-     <li>
-         populateCookieValueIntoStack - this method will decide if this cookie value is qualified
-         to be populated into the value stack (hence into the action itself)
-     </li>
-     <li>
-         injectIntoCookiesAwareAction - this method will inject selected cookies (as a java.util.Map)
-         into action that implements {@link CookiesAware}.
-     </li>
- </ul>
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
-
-Examples
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
+## Examples
 
 ```xml
-
  <!--
    This example will inject cookies named either 'cookie1' or 'cookie2' whose
    value could be either 'cookie1value' or 'cookie2value' into Struts' action.
@@ -105,7 +56,6 @@ Examples
     ....
  </action>
 
-
  <!--
       This example will inject cookies named either 'cookie1' or 'cookie2'
      regardless of their value into Struts' action.
@@ -118,7 +68,6 @@ Examples
    ...
  </action>
 
-
  <!--
       This example will inject cookies named either 'cookie1' with value
       'cookie1value' or 'cookie2' with value 'cookie2value' into Struts'
@@ -148,7 +97,4 @@ Examples
     ...
  </action>
 
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.CookieInterceptor {% endcomment %}
diff --git a/source/core-developers/debugging-interceptor.md b/source/core-developers/debugging-interceptor.md
index 9cb0e17..a3692bb 100644
--- a/source/core-developers/debugging-interceptor.md
+++ b/source/core-developers/debugging-interceptor.md
@@ -1,55 +1,27 @@
 ---
-layout: core-developers
-title: DebuggingInterceptor
+layout: default
+title: Debugging Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
-# DebuggingInterceptor
+# Debugging Interceptor
 
+Provides several different debugging screens to provide insight into the data behind the page.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
-<p> <p>
- Provides several different debugging screens to provide insight into the
- data behind the page.
- </p>
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
-
-
-{% comment %}start snippet id=remarks|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
-<p> 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.
-</p>
-{% comment %}end snippet id=remarks|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
+This interceptor only is activated when `devMode` is enabled in `struts.xml`. 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.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
-<p> <ul>
- <li> <code>xml</code> - Dumps the parameters, context, session, and value
- stack as an XML document.</li>
- <li> <code>console</code> - Shows a popup 'OGNL Console' that allows the
- user to test OGNL expressions against the value stack. The XML data from
- the 'xml' mode is inserted at the top of the page.</li>
- <li> <code>command</code> - Tests an OGNL expression and returns the
- string result. Only used by the OGNL console.</li>
- <li><code>browser</code> Shows field values of an object specified in the 
- <code>object</code> parameter (#context by default). When the <code>object</code>
- parameters is set, the '#' character needs to be escaped to '%23'. Like
- debug=browser&object=%23parameters</li>
- </ul>
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
+ - `xml` - Dumps the parameters, context, session, and value stack as an XML document.
+ - `console` - Shows a popup 'OGNL Console' that allows the user to test OGNL expressions against the value stack. 
+   The XML data from the `xml` mode is inserted at the top of the page.
+ - `command` - Tests an OGNL expression and returns the string result. Only used by the OGNL console.
+ - `browser` Shows field values of an object specified in the `object` parameter (`#context` by default). 
+   When the `object` parameters is set, the `#` character needs to be escaped to `%23`. Like `debug=browser&object=%23parameters`
 
 ## Example
 
-
-
-{% comment %}start snippet id=example|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
-<p>  http://localhost:8080/Welcome.action?debug=xml
-</p>
-{% comment %}end snippet id=example|javadoc=true|url=org.apache.struts2.interceptor.debugging.DebuggingInterceptor {% endcomment %}
+http://localhost:8080/Welcome.action?debug=xml
diff --git a/source/core-developers/default-workflow-interceptor.md b/source/core-developers/default-workflow-interceptor.md
index 9317762..e9d4d4b 100644
--- a/source/core-developers/default-workflow-interceptor.md
+++ b/source/core-developers/default-workflow-interceptor.md
@@ -1,97 +1,52 @@
 ---
-layout: core-developers
+layout: default
 title: Default Workflow Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Default Workflow Interceptor
 
+An interceptor that makes sure there are not validation, conversion or action errors before allowing the interceptor 
+chain to continue. If a single FieldError or ActionError (including the ones replicated by the Message Store Interceptor 
+in a redirection) is found, the INPUT result will be triggered.
 
+This interceptor does not perform any validation.
 
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
-<p> <p>
- An interceptor that makes sure there are not validation, conversion or action errors before allowing the interceptor chain to continue. 
- If a single FieldError or ActionError (including the ones replicated by the Message Store Interceptor in a redirection) is found, the INPUT result will be triggered.
- <b>This interceptor does not perform any validation</b>.
- </p>
+This interceptor does nothing if the name of the method being invoked is specified in the `excludeMethods` parameter. 
+`excludeMethods` accepts a comma-delimited list of method names. For example, requests to `foo!input.action` and 
+`foo!back.action` will be skipped by this interceptor if you set the `excludeMethods` parameter to `input, back`.
 
- <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>
+> Note: 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. `MethodFilterInterceptor` for more info.
 
- <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:
- </p>
-
- <ul>
-     <li>ValidationAware - implemented by ActionSupport class</li>
-     <li>ValidationWorkflowAware - allows changing result name programmatically</li>
-     <li>ValidationErrorAware - notifies action about errors and also allow change result name</li>
- </ul>
-
- <p>
- You can also use InputConfig annotation to change result name returned when validation errors occurred.
- </p>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
-
-
-{% comment %}start snippet id=javadocDefaultWorkflowInterceptor|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil {% endcomment %}
-<p> 
- <b>In DefaultWorkflowInterceptor</b>
- <p>applies only when action implements {@link com.opensymphony.xwork2.Validateable}</p>
- <ol>
-    <li>if the action class have validate{MethodName}(), it will be invoked</li>
-    <li>else if the action class have validateDo{MethodName}(), it will be invoked</li>
-    <li>no matter if 1] or 2] is performed, if alwaysInvokeValidate property of the interceptor is "true" (which is by default "true"), validate() will be invoked.</li>
- </ol>
+This interceptor also supports the following interfaces which can implemented by actions:
+ - `ValidationAware` - implemented by ActionSupport class
+ - `ValidationWorkflowAware` - allows changing result name programmatically
+ - `ValidationErrorAware` - notifies action about errors and also allow change result name
  
-</p>
-{% comment %}end snippet id=javadocDefaultWorkflowInterceptor|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil {% endcomment %}
-
-## Parameters
+You can also use `InputConfig` annotation to change result name returned when validation errors occurred.
 
+In `DefaultWorkflowInterceptor` applies only when action implements `com.opensymphony.xwork2.Validateable`
+ 1. if the action class have `validate{MethodName}()`, it will be invoked
+ 2. else if the action class have `validateDo{MethodName}()`, it will be invoked
+ 3. no matter if 1] or 2] is performed, if `alwaysInvokeValidate` property of the interceptor is `true` (which is by 
+   default `true`), `validate()` will be invoked.
 
+## Parameters
 
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
-<p> <ul>
- <li>inputResultName - Default to "input". Determine the result name to be returned when
- an action / field error is found.</li>
- </ul>
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
+ - `inputResultName` - Default to "input". Determine the result name to be returned when an action / field error is found.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
-<p>
- <p>There are no known extension points for this interceptor.</p>
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
-
 ```xml
-
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="params"/>
      <interceptor-ref name="validation"/>
@@ -124,8 +79,4 @@ title: Default Workflow Interceptor
      </interceptor-ref>
      <result name="success">good_result.ftl</result>
  </action>
-
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor {% endcomment %}
diff --git a/source/core-developers/exception-interceptor.md b/source/core-developers/exception-interceptor.md
index 34cc1c5..75dc7d1 100644
--- a/source/core-developers/exception-interceptor.md
+++ b/source/core-developers/exception-interceptor.md
@@ -1,76 +1,43 @@
 ---
-layout: core-developers
+layout: default
 title: Exception Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Exception Interceptor
 
+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 `ExceptionHolder` and pushed on the stack, providing easy access 
+to the exception from within your result.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
-<p> <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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
+> Note: 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.
 
 ## Parameters
 
+ - `logEnabled` (optional) - should exceptions also be logged? (boolean true|false)
+ - `logLevel` (optional) - what log level should we use (`trace, debug, info, warn, error, fatal`)? - default is `debug`
+ - `logCategory` (optional) - if provided we would use this category (eg. `com.mycompany.app`). Default is to use 
+   `com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor`.
 
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>logEnabled (optional) - Should exceptions also be logged? (boolean true|false)</li>
- 
- <li>logLevel (optional) - what log level should we use (<code>trace, debug, info, warn, error, fatal</code>)? - defaut is <code>debug</code></li>
- 
- <li>logCategory (optional) - If provided we would use this category (eg. <code>com.mycompany.app</code>).
- Default is to use <code>com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor</code>.</li>
-
- </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>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
+The parameters above enables us to log all thrown exceptions with stacktrace in our own logfile, and present a friendly 
+webpage (with no stacktrace) to the end user.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
-<p> <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>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
+If you want to add custom handling for publishing the Exception, you may override `#publishException(com.opensymphony.xwork2.ActionInvocation, ExceptionHolder)`. 
+The default implementation pushes the given `ExceptionHolder` on a value stack. A custom implementation could add additional 
+logging etc.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
-
 ```xml
- <xwork>
+ <struts>
      <package name="default" extends="xwork-default">
          <global-results>
              <result name="error" type="freemarker">error.ftl</result>
@@ -88,8 +55,5 @@ title: Exception Interceptor
              <result name="success" type="freemarker">test.ftl</result>
          </action>
      </package>
- </xwork>
-
-```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor {% endcomment %}
+ </struts>
+```
\ No newline at end of file
diff --git a/source/core-developers/execute-and-wait-interceptor.md b/source/core-developers/execute-and-wait-interceptor.md
index bea5505..e9ec02a 100644
--- a/source/core-developers/execute-and-wait-interceptor.md
+++ b/source/core-developers/execute-and-wait-interceptor.md
@@ -1,98 +1,67 @@
 ---
-layout: core-developers
+layout: default
 title: Execute and Wait Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Execute and Wait Interceptor
 
+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.
 
+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 `last` interceptor in the stack.
 
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
-<p> <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>
+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 `wait` result will be returned. 
 
- <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>
+>The wait result is responsible for issuing a subsequent request back to the action, giving the effect 
+> of a self-updating progress meter.
 
- <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>
+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> 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>
+Whenever the wait result is returned, the action that is currently running in the background will be placed on top 
+of the stack. 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>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>
+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.
+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>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>
+> Important: 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><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>.
- For example, the <i>search</i> action would run as a thread named <i>searchBackgroundProcess</i>.
- </p>
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
+The thread kicked off by this interceptor will be named in the form `<actionName>BackgroundProcess`.
+For example, the `search` action would run as a thread named `searchBackgroundProcess`.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>threadPriority (optional) - the priority to assign the thread. Default is <code>Thread.NORM_PRIORITY</code>.</li>
- <li>delay (optional) - an initial delay in millis to wait before the wait page is shown (returning <code>wait</code> as result code). Default is no initial delay.</li>
- <li>delaySleepInterval (optional) - only used with delay. Used for waking up at certain intervals to check if the background process is already done. Default is 100 millis.</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
+ - `threadPriority` (optional) - the priority to assign the thread. Default is `Thread.NORM_PRIORITY`.
+ - `delay` (optional) - an initial delay in millis to wait before the wait page is shown (returning `wait` as result code). 
+   Default is no initial delay.
+ - `delaySleepInterval` (optional) - only used with delay. Used for waking up at certain intervals to check if the background 
+   process is already done. Default is 100 millis.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
-<p> <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>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
+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.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
-
 ```xml
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="completeStack"/>
@@ -150,7 +119,4 @@ title: Execute and Wait Interceptor
  </action>
  </pre>
 
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ExecuteAndWaitInterceptor {% endcomment %}
diff --git a/source/core-developers/file-upload-interceptor.md b/source/core-developers/file-upload-interceptor.md
index d7752a8..d6b2ef6 100644
--- a/source/core-developers/file-upload-interceptor.md
+++ b/source/core-developers/file-upload-interceptor.md
@@ -1,103 +1,57 @@
 ---
-layout: core-developers
+layout: default
 title: File Upload Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # File Upload Interceptor
 
+See [this page](file-upload.html) for more examples and advanced configuration.
 
-  See [this page](file-upload.html) for more examples and advanced configuration
+Interceptor that is based off of `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:
 
-| 
+ - `<file name>`: `File` - the actual File
+ - `<file name>ContentType`: `String` - the content type of the file
+ - `<file name>FileName`: `String` - the actual name of the file uploaded (not the HTML name)
 
+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.
 
+See the example code section.
 
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-<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>
- <ul>
+This interceptor will add several field errors, assuming that the action implements `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:
 
- <li>[File Name] : File - the actual File</li>
-
- <li>[File Name]ContentType : String - the content type of the file</li>
-
- <li>[File Name]FileName : String - the actual name of the file uploaded (not the HTML name)</li>
-
- </ul>
-
- <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}.
- 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>
-
- <ul>
-
- <li>struts.messages.error.uploading - a general error that occurs when the file could not be uploaded</li>
-
- <li>struts.messages.error.file.too.large - occurs when the uploaded file is too large</li>
-
- <li>struts.messages.error.content.type.not.allowed - occurs when the uploaded file does not match the expected
- content types specified</li>
-
- <li>struts.messages.error.file.extension.not.allowed - occurs when the uploaded file does not match the expected
- file extensions specified</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
+ - `struts.messages.error.uploading` - a general error that occurs when the file could not be uploaded
+ - `struts.messages.error.file.too.large` - occurs when the uploaded file is too large
+ - `struts.messages.error.content.type.not.allowed` - occurs when the uploaded file does not match the expected content 
+   types specified
+ - `struts.messages.error.file.extension.not.allowed` - occurs when the uploaded file does not match the expected 
+   file extensions specified
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-<p>
- <ul>
-
- <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>
-
- <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>
-
- <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>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
+ - `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.
+ - `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.
+ - `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.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-<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>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
+You can extend this interceptor and override the acceptFile method to provide more control over which files are supported 
+and which are not.
 
 ## Examples
 
 **Example action mapping:**
 
-
-{% comment %}start snippet id=example-configuration|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
 ```xml
  <action name="doUpload" class="com.example.UploadAction">
      <interceptor-ref name="fileUpload"/>
@@ -107,15 +61,10 @@ title: File Upload Interceptor
 
 ```
 
-{% comment %}end snippet id=example-configuration|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
 Notice the interceptor configuration in the preceding example\. 
 
 **Example JSP form tags:**
 
-
-{% comment %}start snippet id=example-form|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
 ```xml
    <s:form action="doUpload" method="post" enctype="multipart/form-data">
        <s:file name="upload" label="File"/>
@@ -124,21 +73,10 @@ Notice the interceptor configuration in the preceding example\.
 
 ```
 
-{% comment %}end snippet id=example-form|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
-
-{% comment %}start snippet id=multipart-note|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-<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>
-{% comment %}end snippet id=multipart-note|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
+You must set the encoding to <code>multipart/form-data</code> in the form where the user selects the file to upload.
 
 **Example Action class:**
 
-
-{% comment %}start snippet id=example-action|lang=java|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
 ```java
     package com.example;
 
@@ -170,24 +108,15 @@ Notice the interceptor configuration in the preceding example\.
 
 ```
 
-{% comment %}end snippet id=example-action|lang=java|javadoc=true|url=org.apache.struts2.interceptor.FileUploadInterceptor {% endcomment %}
-
 **Setting parameters example:**
 
-
-~~~~~~~
-
+```xml
 <interceptor-ref name="fileUpload">
   <param name="allowedTypes">
      image/png,image/gif,image/jpeg
   </param>
 </interceptor-ref>
+```
 
-~~~~~~~
-
-This part is optional and would be done in place of the 
-
-~~~~~~~
-<interceptor-ref name="fileUpload"/>
-~~~~~~~
- line in the action mapping example above\.
+This part is optional and would be done in place of the `<interceptor-ref name="fileUpload"/>` line in the action mapping 
+example above.
diff --git a/source/core-developers/i18n-interceptor.md b/source/core-developers/i18n-interceptor.md
index 4d8d34e..09a3dd7 100644
--- a/source/core-developers/i18n-interceptor.md
+++ b/source/core-developers/i18n-interceptor.md
@@ -1,33 +1,42 @@
 ---
-layout: core-developers
+layout: default
 title: I18n Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # I18n Interceptor
 
 ## Description
 
-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 [...]
+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 very useful for applications that require multi-lingual support and want the user to 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.
 
-For example, using the default parameter name, a request to **foo\.action?request\_locale=en\_US**, 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\.
+For example, using the default parameter name, a request to `foo.action?request_locale=en_US`, 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.
 
 ## Parameters
 
-+ **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 **request\_locale**
-
-+ **requestCookieParameterName** (optional) \- the name of the HTTP request parameter that dictates the locale to switch to and save in a cookie\. By default this is **request\_cookie\_locale**
-
-+ **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 **request\_only\_locale**
-
-+ **attributeName** (optional) \- the name of the session key to store the selected locale\. By default this is **WW\_TRANS\_I18N\_LOCALE**
-
-+ **localeStorage** (optional) \- the name of storage location, it can be **none**, **session** or **cookie**\. By default this is **session**
+ - `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 `request_locale`
+ - `requestCookieParameterName` (optional) - the name of the HTTP request parameter that dictates the locale to switch 
+   to and save in a cookie. By default this is `request_cookie_locale`
+ - `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 `request_only_locale`
+ - `attributeName` (optional) - the name of the session key to store the selected locale. By default this is `WW_TRANS_I18N_LOCALE`
+ - `localeStorage` (optional) - the name of storage location, it can be `none`, `session` or `cookie`. By default this is `session`
 
 ## Examples
 
-
-
-~~~~~~~
+```xml
 <interceptor name="i18nCookie" class="org.apache.struts2.interceptor.I18nInterceptor"/>
 
 <action name="someAction" class="com.examples.SomeAction">
@@ -37,4 +46,4 @@ For example, using the default parameter name, a request to **foo\.action?reques
     <interceptor-ref name="basicStack"/>
     <result name="success">good_result.ftl</result>
 </action>
-~~~~~~~
+```
diff --git a/source/core-developers/interceptors.md b/source/core-developers/interceptors.md
index 1aa20ad..45df0bf 100644
--- a/source/core-developers/interceptors.md
+++ b/source/core-developers/interceptors.md
@@ -115,24 +115,24 @@ specified in the `<interceptors/>` tag.
 |[Annotation Parameter Filter Interceptor](annotation-parameter-filter-interceptor.html)|annotationParameterFilter|Annotation based version of [Parameter Filter Interceptor](parameter-filter-interceptor.html).|
 |[Annotation Workflow Interceptor](annotation-workflow-interceptor.html)|annotationWorkflow|Invokes any annotated methods on the action.|
 |[Chaining Interceptor](chaining-interceptor.html)|chain|Makes the previous Action's properties available to the current Action. Commonly used together with <result type="chain"> (in the previous Action).|
-|[Checkbox Interceptor](checkbox-interceptor.html)|checkbox|Adds automatic checkbox handling code that detect an unchecked checkbox and add it as a parameter with a default (usually 'false') value. Uses a specially named hidden field to detect unsubmitted checkboxes. The default unchecked value is overridable for non-boolean value'd checkboxes.|
+|[Checckbox Interceptor](checkbox-interceptor.html)|checkbox|Adds automatic checkbox handling code that detect an unchecked checkbox and add it as a parameter with a default (usually 'false') value. Uses a specially named hidden field to detect unsubmitted checkboxes. The default unchecked value is overridable for non-boolean value'd checkboxes.|
 |[Conversion Error Interceptor](conversion-error-interceptor.html)|conversionError|Adds conversion errors from the ActionContext to the Action's field errors|
 |[Cookie Interceptor](cookie-interceptor.html)|cookie|Inject cookie with a certain configurable name / value into action. (Since 2.0.7.)|
-|[CookieProvider Interceptor](cookie-provider-interceptor.html)|cookieProvider|Transfer cookies from action to response (Since 2.3.15.)|
+|[Cookie Provider Interceptor](cookie-provider-interceptor.html)|cookieProvider|Transfer cookies from action to response (Since 2.3.15.)|
 |[Create Session Interceptor](create-session-interceptor.html)|createSession|Create an HttpSession automatically, useful with certain Interceptors that require a HttpSession to work properly (like the TokenInterceptor)|
 |[Clear Session Interceptor](clear-session-interceptor.html)|clearSession|This interceptor clears the HttpSession.|
-|[DebuggingInterceptor](debugging-interceptor.html)|debugging|Provides several different debugging screens to provide insight into the data behind the page.|
+|[Debugging Interceptor](debugging-interceptor.html)|debugging|Provides several different debugging screens to provide insight into the data behind the page.|
 |[Default Workflow Interceptor](default-workflow-interceptor.html)|workflow|Calls the validate method in your Action class. If Action errors are created then it returns the INPUT view.|
 |[Exception Interceptor](exception-interceptor.html)|exception|Maps exceptions to a result.|
 |[Execute and Wait Interceptor](execute-and-wait-interceptor.html)|execAndWait|Executes the Action in the background and then sends the user off to an intermediate waiting page.|
 |[File Upload Interceptor](file-upload-interceptor.html)|fileUpload|An Interceptor that adds easy access to file upload support.|
 |[I18n Interceptor](i18n-interceptor.html)|i18n|Remembers the locale selected for a user's session.|
-|[Logging Interceptor](logger-interceptor.html)|logger|Outputs the name of the Action.|
+|[Logging Interceptor](logging-interceptor.html)|logger|Outputs the name of the Action.|
 |[Message Store Interceptor](message-store-interceptor.html)|store|Store and retrieve action messages / errors / field errors for action that implements ValidationAware interface into session.|
 |[Model Driven Interceptor](model-driven-interceptor.htm)|modelDriven|If the Action implements ModelDriven, pushes the getModel Result onto the Value Stack.|
 |[Multiselect Interceptor](multiselect-interceptor.html)|multiselect|Like the checkbox interceptor detects that no value was selected for a field with multiple values (like a select) and adds an empty parameter|
 |[NoOp Interceptor](no-op-interceptor.html)|noop|Does nothing, just passes invocation further, used in empty stack|
-|[Parameter Filter Interceptor](parameter-filter-interceptor.html)|N/A|Removes parameters from the list of those available to Actions|
+|[Parameter Filter Interceptor](parameter-filter-interceptor.html)|parameterFilter|Removes parameters from the list of those available to Actions|
 |[Parameters Interceptor](parameters-interceptor.html)|params|Sets the request parameters onto the Action.|
 |[Parameter Remover Interceptor](parameter-remover-interceptor.html)|paramRemover|Removes a parameter from parameters map.|
 |[Prepare Interceptor](prepare-interceptor.html)|prepare|If the Action implements Preparable, calls its prepare method.|
diff --git a/source/core-developers/logger-interceptor.md b/source/core-developers/logging-interceptor.md
similarity index 100%
rename from source/core-developers/logger-interceptor.md
rename to source/core-developers/logging-interceptor.md
diff --git a/source/core-developers/message-store-interceptor.md b/source/core-developers/message-store-interceptor.md
index c89d7ef..09fb012 100644
--- a/source/core-developers/message-store-interceptor.md
+++ b/source/core-developers/message-store-interceptor.md
@@ -1,28 +1,37 @@
 ---
-layout: core-developers
+layout: default
 title: Message Store Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Message Store Interceptor
 
-An interceptor to store a _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\.
+An interceptor to store a `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.
 
-If no session exists, nothing will be stored and can be retrieved later\. In other terms, the application is responsible to open the session\.
+If no session exists, nothing will be stored and can be retrieved later. In other terms, the application is responsible 
+to open the session.
 
-In the **STORE** mode, the interceptor will store the _ValidationAware_  action's message / errors and field errors into HTTP session\.
+In the `STORE` mode, the interceptor will store the `ValidationAware` action's message / errors and field errors into 
+HTTP session.
 
-In the **RETRIEVE** mode, the interceptor will retrieve the stored action's message / errors and field errors and put them back into the _ValidationAware_  action\.
+In the `RETRIEVE` mode, the interceptor will retrieve the stored action's message / errors and field errors and put them 
+back into the `ValidationAware` action.
 
-In the **AUTOMATIC** mode, the interceptor will always retrieve the stored action's message / errors and field errors and put them back into the \[ValidationAware\] action, and after Action execution, if the _Result_  is an instance of _ServletRedirectResult_ , the action's message / errors and field errors into automatically be stored in the HTTP session\.\.
+In the `AUTOMATIC` mode, the interceptor will always retrieve the stored action's message / errors and field errors 
+and put them back into the `ValidationAware` action, and after Action execution, if the `Result` is an instance 
+of `ServletRedirectResult`, the action's message / errors and field errors into automatically be stored in the HTTP session.
 
-The interceptor does nothing in the **NONE** mode, which is the default\.
+The interceptor does nothing in the `NONE` mode, which is the default.
 
 The operation mode could be switched using:
 
 1. Setting the interceptor parameter eg.
 
-
-~~~~~~~
+```xml
 <action name="submitApplication" ...>
     <interceptor-ref name="store"/>
 	    <param name="operationMode">STORE</param>
@@ -30,53 +39,28 @@ The operation mode could be switched using:
 	<interceptor-ref name="defaultStack" />
     ....
 </action>
-~~~~~~~
-
-2. Through request parameter 
-
-~~~~~~~
-allowRequestParameterSwitch
-~~~~~~~
- must be 'true' which is the default
+```
 
-
-~~~~~~~
-the request will have the operation mode in 'STORE'
+2. Through request parameter `allowRequestParameterSwitch` must be 'true' which is the default, the request will have 
+  the operation mode in `STORE`
+```
 http://localhost:8080/context/submitApplication.action?operationMode=STORE
-~~~~~~~
+```
 
 ## Parameters
 
-+ 
-
-~~~~~~~
-allowRequestParameterSwitch
-~~~~~~~
- \- To enable request parameter that could switch the operation mode of this interceptor\.
-
-+ 
-
-~~~~~~~
-requestParameterSwitch
-~~~~~~~
- \- The request parameter that will indicate what mode this interceptor is in\.
-
-+ 
-
-~~~~~~~
-operationMode
-~~~~~~~
- \- The operation mode this interceptor should be in (either **STORE**, **RETRIEVE**, **AUTOMATIC**, or **NONE**)\. **NONE **being the default\.
+ - `allowRequestParameterSwitch` - To enable request parameter that could switch the operation mode of this interceptor.
+ - `requestParameterSwitch` - The request parameter that will indicate what mode this interceptor is in.
+ - `operationMode` - The operation mode this interceptor should be in (either `STORE`, `RETRIEVE`, `AUTOMATIC`, or `NONE`). 
+   `NONE` being the default.
 
 ## Extending the Interceptor
 
-There is no known extensions\.
+There is no known extensions.
 
 ## Examples
 
-
-
-~~~~~~~
+```xml
 <action name="submitApplication" ....>
 	<interceptor-ref name="store">
 		<param name="operationMode">STORE</param>
@@ -92,8 +76,9 @@ There is no known extensions\.
 	</interceptor-ref>
 	<result>applicationFailed.jsp</result>
 </action>
-~~~~~~~
-
-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\.
+```
 
+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.
  
\ No newline at end of file
diff --git a/source/core-developers/model-driven-interceptor.md b/source/core-developers/model-driven-interceptor.md
index 0175096..be88020 100644
--- a/source/core-developers/model-driven-interceptor.md
+++ b/source/core-developers/model-driven-interceptor.md
@@ -1,6 +1,9 @@
 ---
-layout: core-developers
+layout: default
 title: Model Driven Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Model Driven Interceptor
diff --git a/source/core-developers/multiselect-interceptor.md b/source/core-developers/multiselect-interceptor.md
index e25a7e5..259a924 100644
--- a/source/core-developers/multiselect-interceptor.md
+++ b/source/core-developers/multiselect-interceptor.md
@@ -1,36 +1,19 @@
 ---
-layout: core-developers
+layout: default
 title: Multiselect Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Multiselect Interceptor
 
+Multiselect Interceptor is defined in the `defaultStack`. It checks each form parameter submitted to the action and if 
+it finds one with a prefix of `__multiselect_` it inserts a value for a parameter whose name is derived from the suffix
+to `__multiselect_` if it does not exist. The default value inserted is an empty String array.
 
-
-~~~~~~~
-org.apache.struts2.interceptor.MultiselectInterceptor
-~~~~~~~
- is in the 
-
-~~~~~~~
-defaultStack
-~~~~~~~
-\. It checks each form parameter submitted to the action and if it finds one with a prefix of 
-
-~~~~~~~
-__multiselect_
-~~~~~~~
- it inserts a value for a parameter whose name is derived from the suffix to 
-
-~~~~~~~
-__multiselect_
-~~~~~~~
- if it does not exist\. The default value inserted is an empty String array\.
-
-This means that a a field that can have multiple selected values(select, checkboxlist, etc) can be accompanied by a hidden input with the same name but a prefix of 
-
-~~~~~~~
-__multiselect_
-~~~~~~~
- so that if the no value is selected on the form the action will still receive a value(empty collection) rather than the default HTML action of not providing a value for unselected elements,
+This means that a a field that can have multiple selected values(select, checkboxlist, etc) can be accompanied by a hidden 
+input with the same name but a prefix of `__multiselect_` so that if the no value is selected on the form the action 
+will still receive a value(empty collection) rather than the default HTML action of not providing a value for unselected 
+elements.
  
\ No newline at end of file
diff --git a/source/core-developers/no-op-interceptor.md b/source/core-developers/no-op-interceptor.md
index 6fd62c6..b513a79 100644
--- a/source/core-developers/no-op-interceptor.md
+++ b/source/core-developers/no-op-interceptor.md
@@ -1,18 +1,13 @@
 ---
-layout: core-developers
+layout: default
 title: NoOp Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # NoOp Interceptor
 
-
-
-~~~~~~~
-org.apache.struts2.interceptor.NoOpInterceptor
-~~~~~~~
- is in the 
-
-~~~~~~~
-emptyStack
-~~~~~~~
- and it performs no computation, it is there to allow create an empty stack that can be used with actions that do not required receiving request parameters or are fully stateless, i\.e\. when producing a JSON response on public endpoints\.
+NoOp Interceptor is defined in the `emptyStack` and it performs no computation, it is there to allow create an empty 
+stack that can be used with actions that do not required receiving request parameters or are fully stateless,
+i.e. when producing a JSON response on public endpoints.
diff --git a/source/core-developers/parameter-filter-interceptor.md b/source/core-developers/parameter-filter-interceptor.md
index 9372ce9..58d8a66 100644
--- a/source/core-developers/parameter-filter-interceptor.md
+++ b/source/core-developers/parameter-filter-interceptor.md
@@ -1,68 +1,41 @@
 ---
-layout: core-developers
+layout: default
 title: Parameter Filter Interceptor
----
+parent:
+    title: Interceptors
+    url: interceptors.html
+------
 
 # Parameter Filter Interceptor
 
-
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor {% endcomment %}
-<p>
- The Parameter Filter Interceptor blocks parameters from getting
- to the rest of the stack or your action. You can use multiple 
- parameter filter interceptors for a given action, so, for example,
- you could use one in your default stack that filtered parameters
- you wanted blocked from every action and those you wanted blocked 
- from an individual action you could add an additional interceptor
- for each action.
+The Parameter Filter Interceptor blocks parameters from getting to the rest of the stack or your action. You can use 
+multiple parameter filter interceptors for a given action, so, for example, you could use one in your default stack 
+that filtered parameters you wanted blocked from every action and those you wanted blocked from an individual action 
+you could add an additional interceptor for each action.
  
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor {% endcomment %}
-
 ## Parameters
 
+ - `allowed` - a comma delimited list of parameter prefixes that are allowed to pass to the action
+ - `blocked` - a comma delimited list of parameter prefixes that are not allowed to pass to the action
+ - `defaultBlock` - boolean (default to false) whether by default a given parameter is blocked. If true, 
+   then a parameter must have a prefix in the allowed list in order to be able to pass to the action
 
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor {% endcomment %}
-<p>
- <ul>
- <li>allowed - a comma delimited list of parameter prefixes
-  that are allowed to pass to the action</li>
- <li>blocked - a comma delimited list of parameter prefixes 
- that are not allowed to pass to the action</li>
- <li>defaultBlock - boolean (default to false) whether by
- default a given parameter is blocked. If true, then a parameter
- must have a prefix in the allowed list in order to be able 
- to pass to the action
- </ul>
+The way parameters are filtered for the least configuration is that if a string is in the allowed or blocked lists, 
+then any parameter that is a member of the object represented by the parameter is allowed or blocked respectively.
  
- <p>The way parameters are filtered for the least configuration is that
- if a string is in the allowed or blocked lists, then any parameter
- that is a member of the object represented by the parameter is allowed
- or blocked respectively.</p>
+For example, if the parameters are:
  
- <p>For example, if the parameters are:
- <ul>
- <li>blocked: person,person.address.createDate,personDao</li>
- <li>allowed: person.address</li>
- <li>defaultBlock: false</li>
- </ul>
+ - `blocked`: person,person.address.createDate,personDao
+ - `allowed`: person.address
+ - `defaultBlock`: false
 
- <p>
- The parameters person.name, person.phoneNum etc would be blocked 
- because 'person' is in the blocked list. However, person.address.street
- and person.address.city would be allowed because person.address is
- in the allowed list (the longer string determines permissions).</p> 
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor {% endcomment %}
+The parameters `person.name`, `person.phoneNum` etc would be blocked because `person` is in the blocked list. However, 
+`person.address.street` and `person.address.city` would be allowed because `person.address` is in the allowed list 
+(the longer string determines permissions). 
 
 ## Example
 
-
-
-~~~~~~~
-
+```xml
 <interceptors>
     ... 
     <interceptor name="parameterFilter" class="com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor"/>
@@ -76,6 +49,4 @@ title: Parameter Filter Interceptor
      </interceptor-ref> 
      ... 
 </action>
-
-~~~~~~~
-
+```
diff --git a/source/core-developers/prepare-interceptor.md b/source/core-developers/prepare-interceptor.md
index d527cfa..8bb6b34 100644
--- a/source/core-developers/prepare-interceptor.md
+++ b/source/core-developers/prepare-interceptor.md
@@ -1,92 +1,47 @@
 ---
-layout: core-developers
+layout: default
 title: Prepare Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Prepare Interceptor
 
+This interceptor calls `prepare()` on actions which implement `Preparable`. This interceptor is very useful for any 
+situation where you need to ensure some logic runs before the actual execute method runs.
 
+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: `id` and `name`. Provided that 
+the params interceptor is called twice (once before and once after this interceptor), you can load the User object using
+the `id` property and then when the second params interceptor is called the parameter `user.name` will be set, as desired, 
+on the actual object loaded from the database. See the example for more info.
 
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-<p>
- This interceptor calls <code>prepare()</code> on actions which implement
- {@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
- 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
- before and once after this interceptor), you can load the User object using
- 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>
- <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
- 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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-
-
-{% comment %}start snippet id=javadocPrepareInterceptor|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil {% endcomment %}
-<p> 
- <b>In PrepareInterceptor</b>
- <p>Applies only when action implements Preparable</p>
- <ol>
-    <li>if the action class have prepare{MethodName}(), it will be invoked</li>
-    <li>else if the action class have prepareDo(MethodName()}(), it will be invoked</li>
-    <li>no matter if 1] or 2] is performed, if alwaysinvokePrepare property of the interceptor is "true" (which is by default "true"), prepare() will be invoked.</li>
- </ol>
+> Note: Since XWork 2.0.2, this interceptor extends `MethodFilterInterceptor`, therefore being able to deal with 
+> `excludeMethods` / `includeMethods` parameters. See [Workflow Interceptor](default-workflow-interceptor.html)
+> for documentation and examples on how to use this feature.
  
-</p>
-{% comment %}end snippet id=javadocPrepareInterceptor|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil {% endcomment %}
-
-## Parameters
-
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-<p>
- <ul>
+> Update: 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 `com.opensymphony.xwork2.ActionProxy`. For example, you can specify a `prepareInput()`
+> method that will be run before the invocation of the input method.
 
- <li>alwaysInvokePrepare - Default to true. If true, prepare will always be invoked,
- otherwise it will not.</li>
+In `PrepareInterceptor` applies only when action implements `Preparable`
+ 1. if the action class have `prepare<MethodName>()`, it will be invoked
+ 2. else if the action class have `prepareDo<MethodName>()`, it will be invoked
+ 3. no matter if 1] or 2] is performed, if `alwaysInvokePrepare` property of the interceptor is `true` (which is by 
+   default `true`), `prepare()` will be invoked.
 
- </ul>
+## Parameters
 
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
+ - `alwaysInvokePrepare` - Default to true. If true, prepare will always be invoked, otherwise it will not.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-<p>
  There are no known extension points to this interceptor.
 
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
-
 ```xml
  <!-- Calls the params interceptor twice, allowing you to
        pre-load data for the second time parameters are set -->
@@ -96,7 +51,4 @@ title: Prepare Interceptor
       <interceptor-ref name="basicStack"/>
       <result name="success">good_result.ftl</result>
   </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.PrepareInterceptor {% endcomment %}
diff --git a/source/core-developers/roles-interceptor.md b/source/core-developers/roles-interceptor.md
index 4e70b5f..0b6412e 100644
--- a/source/core-developers/roles-interceptor.md
+++ b/source/core-developers/roles-interceptor.md
@@ -1,49 +1,31 @@
 ---
-layout: core-developers
+layout: default
 title: Roles Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Roles Interceptor
 
-
-
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
-<p> <p>
- This interceptor ensures that the action will only be executed if the user has the correct role.
- </p>
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
+This interceptor ensures that the action will only be executed if the user has the correct role.
 
 ## Parameters
 
+ - `allowedRoles` - a comma-separated list of roles to allow
+ - `disallowedRoles` - a comma-separated list of roles to disallow
 
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>allowedRoles - a comma-separated list of roles to allow</li>
-
- <li>disallowedRoles - a comma-separated list of roles to disallow</li>
-
- </ul>
-
- <p>
- When both allowedRoles and disallowedRoles are configured, then disallowedRoles
- takes precedence, applying the following logic: 
+When both `allowedRoles` and `disallowedRoles` are configured, then `disallowedRoles` takes precedence, applying 
+the following logic:
+ 
+```
   (if ((inRole(role1) || inRole(role2) || ... inRole(roleN)) &&
        !inRole(roleA) && !inRole(roleB) && ... !inRole(roleZ))
   { //permit ...
- </p>
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
+```
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
-
 ```xml
   <!-- only allows the admin and member roles -->
   <action name="someAction" class="com.examples.SomeAction">
@@ -53,7 +35,4 @@ title: Roles Interceptor
       </interceptor-ref>
       <result name="success">good_result.ftl</result>
   </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.RolesInterceptor {% endcomment %}
diff --git a/source/core-developers/scope-interceptor.md b/source/core-developers/scope-interceptor.md
index 9ee3891..009e095 100644
--- a/source/core-developers/scope-interceptor.md
+++ b/source/core-developers/scope-interceptor.md
@@ -1,108 +1,58 @@
 ---
-layout: core-developers
+layout: default
 title: Scope Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Scope Interceptor
 
+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 `pageLen` (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.
 
+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.
 
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
-<p> <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>
+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>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
- 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
- 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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
+Note that this interceptor takes a snapshot of action properties just before result is presented (using a `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 its values may depend on the rest of the stack and specifically - on the values of nested interceptors.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>session - a list of action properties to be bound to session scope</li>
-
- <li>application - a list of action properties to be bound to application scope</li>
-
- <li>key - a session/application attribute key prefix, can contain following values:
-
- <ul>
-
- <li>CLASS - that creates a unique key prefix based on action namespace and action class, it's a default value</li>
-
- <li>ACTION - creates a unique key prefix based on action namespace and action name</li>
-
- <li>any other value is taken literally as key prefix</li>
-
- </ul>
- </li>
- <li>type - with one of the following
-
- <ul>
-
- <li>start - means it's a start action of the wizard-like action sequence and all session scoped properties are reset
- to their defaults</li>
-
- <li>end - means that session scoped properties are removed from session after action is run</li>
-
- <li>any other value throws IllegalArgumentException</li>
-
- </ul>
- </li>
-
- <li>sessionReset - name of a parameter (defaults to 'session.reset') which if set, causes all session values to be reset to action's default values or application
- scope values, note that it is similar to type="start" and in fact it does the same, but in our team it is sometimes
- semantically preferred. We use session scope in two patterns - sometimes there are wizard-like action sequences that
- have start and end, and sometimes we just want simply reset current session values.</li>
-
- <li>reset - boolean, defaults to false, if set, it has the same effect as setting all session values to be reset to action's default values or application.</li>
-
- <li>autoCreateSession - boolean value, sets if the session should be automatically created.</li>
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
+ - `session` - a list of action properties to be bound to session scope
+ - `application` - a list of action properties to be bound to application scope
+ - `key` - a session/application attribute key prefix, can contain following values:
+   - `CLASS` - that creates a unique key prefix based on action namespace and action class, it's a default value
+   - `ACTION` - creates a unique key prefix based on action namespace and action name
+   - any other value is taken literally as key prefix
+ - `type` - with one of the following
+   - `start` - means it's a start action of the wizard-like action sequence and all session scoped properties are reset
+     to their defaults
+   - `end` - means that session scoped properties are removed from session after action is run
+   - any other value throws `IllegalArgumentException`
+  - `sessionReset` - name of a parameter (defaults to `session.reset`) which if set, causes all session values to be 
+    reset to action's default values or application scope values, note that it is similar to `type="start"` and in fact 
+    it does the same, but in our team it is sometimes semantically preferred. We use session scope in two patterns - 
+    sometimes there are wizard-like action sequences that have start and end, and sometimes we just want simply reset 
+    current session values.
+  - `reset` - boolean, defaults to `false`, if set, it has the same effect as setting all session values to be reset 
+    to action's default values or application.
+  - `autoCreateSession` - boolean value, sets if the session should be automatically created.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
-<p>
- <p>There are no know extension points for this interceptor.</p>
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
+There are no know extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
-
 ```xml
  <!-- 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
@@ -120,33 +70,34 @@ title: Scope Interceptor
 
 ```
 
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ScopeInterceptor {% endcomment %}
-
 __Some more examples__
 
-The scope interceptor can be used to pass arbitrary objects from one action ActionA to another other ActionB, provided you have a getter in ActionA and and a similar setter in actionB\. Also, you should use a key parameter to make sure you tell ASF/WW which action gets which objects\. This allows you to mix several actions with several scopes, without running the risk of getting wrong objects\.
-
-
-~~~~~~~
-    		<action name="scopea" class="com.mevipro.test.action.ScopeActionA">
-			<result name="success" type="dispatcher">/jsp/test.jsp</result>
-			<interceptor-ref name="basicStack"/>
-			<interceptor-ref name="scope">
-				<param name="key">funky</param>
-        		<param name="session">person</param>
-        		<param name="autoCreateSession">true</param>
-    		</interceptor-ref>
-		</action>
-		<action name="scopeb" class="com.mevipro.test.action.ScopeActionB">
-			<result name="success" type="dispatcher">/jsp/test.jsp</result>
-			<interceptor-ref name="scope">
-				<param name="key">funky</param>
-        		<param name="session">person</param>
-        		<param name="autoCreateSession">true</param>
-    		</interceptor-ref>
-			<interceptor-ref name="basicStack"/>
-		</action>
-
-~~~~~~~
-
-Don't forget: you'll need at least a getPerson() getter in ScopeActionA and a setPerson(Person person) setter in ScopeActionB, ánd you need to make sure you specify the key (you don't need this if you only use one action, as in the example above)\. Without the key, the scope interceptor will store your variables, but won't set them on the other action\.
+The scope interceptor can be used to pass arbitrary objects from one action ActionA to another other ActionB, provided 
+you have a getter in ActionA and and a similar setter in actionB. Also, you should use a key parameter to make sure you 
+tell ASF/WW which action gets which objects. This allows you to mix several actions with several scopes, without running 
+the risk of getting wrong objects.
+
+```xml
+<action name="scopea" class="com.mevipro.test.action.ScopeActionA">
+    <result name="success" type="dispatcher">/jsp/test.jsp</result>
+    <interceptor-ref name="basicStack"/>
+    <interceptor-ref name="scope">
+        <param name="key">funky</param>
+        <param name="session">person</param>
+        <param name="autoCreateSession">true</param>
+    </interceptor-ref>
+</action>
+<action name="scopeb" class="com.mevipro.test.action.ScopeActionB">
+    <result name="success" type="dispatcher">/jsp/test.jsp</result>
+    <interceptor-ref name="scope">
+        <param name="key">funky</param>
+        <param name="session">person</param>
+        <param name="autoCreateSession">true</param>
+    </interceptor-ref>
+    <interceptor-ref name="basicStack"/>
+</action>
+```
+
+Don't forget: you'll need at least a `getPerson()` getter in `ScopeActionA` and a `setPerson(Person person)` setter 
+in `ScopeActionB` and you need to make sure you specify the key (you don't need this if you only use one action, as in 
+the example above). Without the key, the scope interceptor will store your variables, but won't set them on the other action.
diff --git a/source/core-developers/scoped-model-driven-interceptor.md b/source/core-developers/scoped-model-driven-interceptor.md
index d1e1b76..ede2de9 100644
--- a/source/core-developers/scoped-model-driven-interceptor.md
+++ b/source/core-developers/scoped-model-driven-interceptor.md
@@ -1,60 +1,31 @@
 ---
-layout: core-developers
+layout: default
 title: Scoped Model Driven Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Scoped Model Driven Interceptor
 
+An interceptor that enables scoped model-driven actions.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-<p>
- 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 `ScopedModelDriven` interface. If detected, it will 
+retrieve the model class from the configured scope, then provide it to the Action.
   
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-
 ## Parameters
-
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>className - The model class name.  Defaults to the class name of the object returned by the getModel() method.</li>
-            
- <li>name - The key to use when storing or retrieving the instance in a scope.  Defaults to the model
-            class name.</li>
-
- <li>scope - The scope to store and retrieve the model.  Defaults to 'request' but can also be 'session'.</li>
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-
+ 
+ - `className` - The model class name.  Defaults to the class name of the object returned by the `getModel()` method.
+ - `name` - The key to use when storing or retrieving the instance in a scope.  Defaults to the model class name.
+ - `scope` - The scope to store and retrieve the model.  Defaults to 'request' but can also be 'session'.
+ 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-<p>
- There are no known extension points for this interceptor.
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
-
 ```xml
- 
  <-- Basic usage -->
  <interceptor name="scopedModelDriven" class="com.opensymphony.interceptor.ScopedModelDrivenInterceptor" />
  
@@ -64,8 +35,4 @@ title: Scoped Model Driven Interceptor
       <param name="name">gangsterForm</param>
       <param name="className">com.opensymphony.example.GangsterForm</param>
   </interceptor>
- 
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor {% endcomment %}
diff --git a/source/core-developers/servlet-config-interceptor.md b/source/core-developers/servlet-config-interceptor.md
index e1faf14..2b512cf 100644
--- a/source/core-developers/servlet-config-interceptor.md
+++ b/source/core-developers/servlet-config-interceptor.md
@@ -1,86 +1,43 @@
 ---
-layout: core-developers
+layout: default
 title: Servlet Config Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Servlet Config Interceptor
 
-
-
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
-<p> <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
- servlet context, the session, etc. Interfaces that it supports are:
- </p>
-
- <ul>
-
- <li>{@link ServletContextAware}</li>
-
- <li>{@link ServletRequestAware}</li>
-
- <li>{@link ServletResponseAware}</li>
-
- <li>{@link ParameterAware} - deprecated since 2.5.4, please use {@link HttpParametersAware}</li>
-
- <li>{@link HttpParametersAware}</li>
-
- <li>{@link RequestAware}</li>
-
- <li>{@link SessionAware}</li>
-
- <li>{@link ApplicationAware}</li>
-
- <li>{@link PrincipalAware}</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
+An interceptor which sets action properties based on the interfaces an action implements. For example, if the action
+implements `ParameterAware` then the action context's parameter map will be set on it.
+
+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:
+ 
+ - `ServletContextAware`
+ - `ServletRequestAware`
+ - `ServletResponseAware`
+ - `ParameterAware` - deprecated since 2.5.4, please use `HttpParametersAware`
+ - `HttpParametersAware`
+ - `RequestAware`
+ - `SessionAware`
+ - `ApplicationAware`
+ - `PrincipalAware`
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>None</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
+There are no parameters for this interceptor.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
-<p>
- <p>There are no known extension points for this interceptor.</p>
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
-
 ```xml
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="servletConfig"/>
      <interceptor-ref name="basicStack"/>
      <result name="success">good_result.ftl</result>
  </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.ServletConfigInterceptor {% endcomment %}
diff --git a/source/core-developers/static-parameters-interceptor.md b/source/core-developers/static-parameters-interceptor.md
index a1e987a..488e9de 100644
--- a/source/core-developers/static-parameters-interceptor.md
+++ b/source/core-developers/static-parameters-interceptor.md
@@ -1,55 +1,29 @@
 ---
-layout: core-developers
+layout: default
 title: Static Parameters Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Static Parameters Interceptor
 
+This interceptor populates the action with the static parameters defined in the action configuration. If the action 
+implements `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.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
-<p>
- This interceptor populates the action with the static parameters defined in the action configuration. If the action
- 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 <param> elements within xwork.xml.</p>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
+Parameters are typically defined with `<param>` elements within `struts.xml.`
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>None</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
+There are no parameters for this interceptor.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
-<p>
- <p>There are no extension points to this interceptor.</p>
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
+There are no extension points to this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
-
 ```xml
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="staticParams">
@@ -58,7 +32,4 @@ title: Static Parameters Interceptor
      </interceptor-ref>
      <result name="success">good_result.ftl</result>
  </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.StaticParametersInterceptor {% endcomment %}
diff --git a/source/core-developers/timer-interceptor.md b/source/core-developers/timer-interceptor.md
index 2d53c43..bd999c6 100644
--- a/source/core-developers/timer-interceptor.md
+++ b/source/core-developers/timer-interceptor.md
@@ -1,56 +1,33 @@
 ---
-layout: core-developers
+layout: default
 title: Timer Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Timer Interceptor
 
+**DEPRECATED**
 
-
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
-<p> This interceptor logs the amount of time in milliseconds. In order for this interceptor to work properly, the
- logging framework must be set to at least the <tt>INFO</tt> level.
- This interceptor relies on the <a href="http://jakarta.apache.org/commons/logging/">Commons Logging API</a> to
- report its execution-time value.
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
+This interceptor logs the amount of time in milliseconds. In order for this interceptor to work properly, the logging 
+framework must be set to at least the `INFO` level.  This interceptor relies on the [Commons Logging API](http://jakarta.apache.org/commons/logging/) 
+to report its execution-time value.
 
 ## Parameters
 
+ - `logLevel` (optional) - what log level should we use (`trace, debug, info, warn, error, fatal`)? - default is `info`
+ - `logCategory` (optional) - If provided we would use this category (eg. `com.mycompany.app`).
+   Default is to use `com.opensymphony.xwork2.interceptor.TimerInterceptor`.
 
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>logLevel (optional) - what log level should we use (<code>trace, debug, info, warn, error, fatal</code>)? - defaut is <code>info</code></li>
-
- <li>logCategory (optional) - If provided we would use this category (eg. <code>com.mycompany.app</code>).
- Default is to use <code>com.opensymphony.xwork2.interceptor.TimerInterceptor</code>.</li>
-
- </ul>
-
- The parameters above enables us to log all action execution times in our own logfile.
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
+The parameters above enables us to log all action execution times in our own logfile.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
-<p> This interceptor can be extended to provide custom message format. Users should override the
- <code>invokeUnderTiming</code> method.
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
+This interceptor can be extended to provide custom message format. Users should override the `invokeUnderTiming` method.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
-
 ```xml
  <!-- records only the action's execution time -->
  <action name="someAction" class="com.examples.SomeAction">
@@ -65,7 +42,4 @@ title: Timer Interceptor
      <interceptor-ref name="completeStack"/>
      <result name="success">good_result.ftl</result>
  </action>
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.interceptor.TimerInterceptor {% endcomment %}
diff --git a/source/core-developers/token-interceptor.md b/source/core-developers/token-interceptor.md
index e5fc3ed..79f4d64 100644
--- a/source/core-developers/token-interceptor.md
+++ b/source/core-developers/token-interceptor.md
@@ -1,82 +1,45 @@
 ---
-layout: core-developers
+layout: default
 title: Token Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Token Interceptor
 
+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 `invalid.token`, 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.
 
+> Note: 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.
 
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
-<p> <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>
+Internationalization Note: The following key could be used to internationalized the action errors generated by this 
+token interceptor:
+ 
+ - `struts.messages.invalid.token`
 
- <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>
- <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>
- <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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
+> NOTE: As this method extends off MethodFilterInterceptor, it is capable of deciding if it is applicable only 
+> to selective methods in the action class. See `MethodFilterInterceptor` for more info.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>None</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
+There are no parameters for this interceptor.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
-<p> <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>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
+While not very common for users to extend, this interceptor is extended by the `TokenSessionStoreInterceptor`.
+The `#handleInvalidToken`  and `#handleValidToken` methods are protected and available for more interesting logic, 
+such as done with the token session interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
-
 ```xml
-
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="token"/>
      <interceptor-ref name="basicStack"/>
@@ -92,9 +55,4 @@ title: Token Interceptor
      <interceptor-ref name="basicStack"/>
      <result name="success">good_result.ftl</result>
  </action>
-
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.TokenInterceptor {% endcomment %}
-
diff --git a/source/core-developers/token-session-interceptor.md b/source/core-developers/token-session-interceptor.md
index 2098648..1845d5d 100644
--- a/source/core-developers/token-session-interceptor.md
+++ b/source/core-developers/token-session-interceptor.md
@@ -1,65 +1,34 @@
 ---
-layout: core-developers
+layout: default
 title: Token Session Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Token Session Interceptor
 
+This interceptor builds off of the [Token Interceptor](token-interceptor.html), 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.
 
-
-{% comment %}start snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
-<p> <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>
- <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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
+> NOTE: As this method extends off MethodFilterInterceptor, it is capable of deciding if it is applicable only 
+> to selective methods in the action class. See `MethodFilterInterceptor` for more info.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>None</li>
-
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
+There are no parameters for this interceptor.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
-<p> <p>
- There are no known extension points for this interceptor.
- </p>
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
-
 ```xml
-
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="tokenSession/>
      <interceptor-ref name="basicStack"/>
@@ -75,8 +44,4 @@ title: Token Session Interceptor
      <interceptor-ref name="basicStack"/>
      <result name="success">good_result.ftl</result>
  </action>
-
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=org.apache.struts2.interceptor.TokenSessionStoreInterceptor {% endcomment %}
diff --git a/source/core-developers/validation-interceptor.md b/source/core-developers/validation-interceptor.md
index 9e56860..a882402 100644
--- a/source/core-developers/validation-interceptor.md
+++ b/source/core-developers/validation-interceptor.md
@@ -1,84 +1,42 @@
 ---
-layout: core-developers
+layout: default
 title: Validation Interceptor
+parent:
+    title: Interceptors
+    url: interceptors.html
 ---
 
 # Validation Interceptor
 
+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 `ActionClass-validation.xml`) and adds field-level and action-level error 
+messages (provided that the action implements `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.
 
+This interceptor does nothing if the name of the method being invoked is specified in the `excludeMethods` parameter. 
+`excludeMethods` accepts a comma-delimited list of method names. For example, requests to `foo!input.action<`
+and `foo!back.action` will be skipped by this interceptor if you set the `excludeMethods` parameter to `input, back`.
+ 
+The workflow of the action request does not change due to this interceptor. Rather, this interceptor is often used 
+in conjunction with the `workflow` interceptor.
 
-{% comment %}start snippet id=description|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
-<p>
- <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>
- 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>
- 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>
-
-</p>
-{% comment %}end snippet id=description|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
+> NOTE: As this method extends off MethodFilterInterceptor, it is capable of deciding if it is applicable only to selective 
+methods in the action class. See `MethodFilterInterceptor` for more info.
 
 ## Parameters
 
-
-
-{% comment %}start snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
-<p>
- <ul>
-
- <li>alwaysInvokeValidate - Defaults to true. If true validate() method will always
- be invoked, otherwise it will not.</li>
-
- <li>programmatic - Defaults to true. If true and the action is Validateable call validate(),
- and any method that starts with "validate".
- </li>
- 
- <li>declarative - Defaults to true. Perform validation based on xml or annotations.</li>
- 
- </ul>
-
-</p>
-{% comment %}end snippet id=parameters|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
+ - `alwaysInvokeValidate` - Defaults to true. If true validate() method will always be invoked, otherwise it will not.
+ - `programmatic` - Defaults to true. If true and the action is `Validateable` call `validate()`, and any method that 
+   starts with `validate`.
+ - `declarative` - Defaults to true. Perform validation based on xml or annotations.
 
 ## Extending the Interceptor
 
-
-
-{% comment %}start snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
-<p>
- There are no known extension points for this interceptor.
-
-</p>
-{% comment %}end snippet id=extending|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
+There are no known extension points for this interceptor.
 
 ## Examples
 
-
-
-{% comment %}start snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}
-
 ```xml
- 
  <action name="someAction" class="com.examples.SomeAction">
      <interceptor-ref name="params"/>
      <interceptor-ref name="validation"/>
@@ -107,9 +65,4 @@ title: Validation Interceptor
      <interceptor-ref name="workflow"/>
      <result name="success">good_result.ftl</result>
  </action>
-
-
-
 ```
-
-{% comment %}end snippet id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.validator.ValidationInterceptor {% endcomment %}

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

[struts-site] 01/04: Fixes file name

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 5fbd53630af92ffa67c9a2ef9b84f44883cbb4ec
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Fri Oct 27 15:49:27 2017 +0200

    Fixes file name
---
 ...r-filter-interceptor.md => annotation-parameter-filter-interceptor.md} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/source/core-developers/annotation-paramter-filter-interceptor.md b/source/core-developers/annotation-parameter-filter-interceptor.md
similarity index 100%
rename from source/core-developers/annotation-paramter-filter-interceptor.md
rename to source/core-developers/annotation-parameter-filter-interceptor.md

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

[struts-site] 02/04: Fixes small typo

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 8ebf493365c7d9b011feed94fa393dce60b9b403
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Fri Oct 27 15:49:53 2017 +0200

    Fixes small typo
---
 source/core-developers/annotation-workflow-interceptor.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/core-developers/annotation-workflow-interceptor.md b/source/core-developers/annotation-workflow-interceptor.md
index 97ef2cc..31a94a7 100644
--- a/source/core-developers/annotation-workflow-interceptor.md
+++ b/source/core-developers/annotation-workflow-interceptor.md
@@ -12,7 +12,7 @@ Invokes any annotated methods on the action. Specifically, it supports the follo
  
  - `@Before` - will be invoked before the action method. If the returned value is not null, it is returned as the action 
    result code
- - @`BeforeResult` - will be invoked after the action method but before the result execution
+ - `@BeforeResult` - will be invoked after the action method but before the result execution
  - `@After` - will be invoked after the action method and result execution
 
 There can be multiple methods marked with the same annotations, but the order of their execution is not guaranteed. 

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

[struts-site] 03/04: Uses proper code style

Posted by lu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 36ad4d21fd8ff9b06784db834b8269e63d3ca80e
Author: Lukasz Lenart <lu...@apache.org>
AuthorDate: Fri Oct 27 15:50:27 2017 +0200

    Uses proper code style
---
 source/core-developers/annotation-workflow-interceptor.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/core-developers/annotation-workflow-interceptor.md b/source/core-developers/annotation-workflow-interceptor.md
index 31a94a7..38c8cd3 100644
--- a/source/core-developers/annotation-workflow-interceptor.md
+++ b/source/core-developers/annotation-workflow-interceptor.md
@@ -17,7 +17,7 @@ Invokes any annotated methods on the action. Specifically, it supports the follo
 
 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 `After`
+class in the case of a `@Before` annotations and after, if the annotations is `@After`.
 
 ## Examples
 

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