You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by gi...@apache.org on 2023/01/11 07:53:30 UTC

[struts-site] branch asf-site updated: Automatic Site Publish by Buildbot

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new b95ece5e2 Automatic Site Publish by Buildbot
b95ece5e2 is described below

commit b95ece5e21db34c21f49da483ce52c6d43b0ebb3
Author: buildbot <us...@infra.apache.org>
AuthorDate: Wed Jan 11 07:53:26 2023 +0000

    Automatic Site Publish by Buildbot
---
 output/core-developers/coep-interceptor.html       |  24 +-
 output/core-developers/coop-interceptor.html       |  24 +-
 output/core-developers/csp-interceptor.html        |   4 +-
 .../fetch-metadata-interceptor.html                |  19 +-
 output/core-developers/interceptors.html           | 310 +--------------------
 output/core-developers/struts-default-xml.html     | 310 +--------------------
 6 files changed, 59 insertions(+), 632 deletions(-)

diff --git a/output/core-developers/coep-interceptor.html b/output/core-developers/coep-interceptor.html
index 534449cee..6347a35a1 100644
--- a/output/core-developers/coep-interceptor.html
+++ b/output/core-developers/coep-interceptor.html
@@ -131,23 +131,29 @@
     
     <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a>
     
-    <h1 id="fetch-metadata-interceptor">Fetch Metadata Interceptor</h1>
+    <h1 id="cross-origin-embedder-policy-interceptor">Cross-Origin Embedder Policy Interceptor</h1>
 
 <h2 id="description">Description</h2>
 
 <p>Interceptor that implements Cross-Origin Embedder Policy on incoming requests.</p>
 
-<p>COEP prevents the document from loading any framed documents which don’t opt-in by setting the COEP header. (<code class="language-plaintext highlighter-rouge">Cross-Origin-Embedder-Policy: require-corp</code>). This provides protection for documents that don’t restrict framing. A document that doesn’t set COEP cannot be framed by another document with COEP. All descendents of a document with COEP will also enforce the same restrictions.</p>
+<p>COEP prevents the document from loading any framed documents which don’t opt-in by setting the COEP header:</p>
 
-<p>COEP is now supported by all major browsers.</p>
+<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Cross-Origin-Embedder-Policy: require-corp
+</code></pre></div></div>
+
+<p>This provides protection for documents that don’t restrict framing. A document that doesn’t set COEP cannot be framed 
+by another document with COEP. All descendents of a document with COEP will also enforce the same restrictions.</p>
 
-<p><a href="https://web.dev/why-coop-coep/#coep">More information about COEP</a>.</p>
+<p>COEP is now supported by all major browsers. <a href="https://web.dev/why-coop-coep/#coep">More information about COEP</a>.</p>
 
 <h2 id="parameters">Parameters</h2>
 
 <ul>
-  <li><code class="language-plaintext highlighter-rouge">exemptedPaths</code> - Set of opt out endpoints that are meant to serve cross-site traffic. Paths should contain leading slashes and must be relative. This field is empty by default.</li>
-  <li><code class="language-plaintext highlighter-rouge">enforcingMode</code> - Boolean variable allowing the user to let COEP operate in <code class="language-plaintext highlighter-rouge">enforcing</code>, which blocks both resource and reports violations, or <code class="language-plaintext highlighter-rouge">report-only</code> mode, which only reports violations. Default value for field is <code class="language-plaintext highlighter-rouge">false</code>.</li>
+  <li><code class="language-plaintext highlighter-rouge">exemptedPaths</code> - Set of opt out endpoints that are meant to serve cross-site traffic. Paths should contain leading
+ slashes and must be relative. This field is empty by default.</li>
+  <li><code class="language-plaintext highlighter-rouge">enforcingMode</code> - Boolean variable allowing the user to let COEP operate in <code class="language-plaintext highlighter-rouge">enforcing</code>, which blocks both resource 
+ and reports violations, or <code class="language-plaintext highlighter-rouge">report-only</code> mode, which only reports violations. Default value for field is <code class="language-plaintext highlighter-rouge">false</code>.</li>
   <li><code class="language-plaintext highlighter-rouge">disabled</code> - Boolean variable disabling and enabling COEP. Default value for field is <code class="language-plaintext highlighter-rouge">false</code>.</li>
 </ul>
 
@@ -155,9 +161,9 @@
 
 <div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;action</span>  <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
     <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coepInterceptor.exemptedPaths"</span><span class="nt">&gt;</span>/path1,/path2,/path3<span class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coepInterceptor.enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coepInterceptor.disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coep.exemptedPaths"</span><span class="nt">&gt;</span>/path1,/path2,/path3<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coep.enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coep.disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
     <span class="nt">&lt;/interceptor-ref&gt;</span>
     <span class="nt">&lt;result</span> <span class="na">name=</span><span class="s">"success"</span><span class="nt">&gt;</span>good_result.ftl<span class="nt">&lt;/result&gt;</span>
 <span class="nt">&lt;/action&gt;</span>
diff --git a/output/core-developers/coop-interceptor.html b/output/core-developers/coop-interceptor.html
index 146dff091..24eff674e 100644
--- a/output/core-developers/coop-interceptor.html
+++ b/output/core-developers/coop-interceptor.html
@@ -135,7 +135,7 @@
 
 <h2 id="description">Description</h2>
 
-<p>Interceptor that implements Cross-Origin Opener Policy on incoming requests.</p>
+<p>Interceptor that implements <em>Cross-Origin Opener Policy</em> on incoming requests.</p>
 
 <p>COOP is a security mitigation that lets developers isolate their resources against side-channel attacks and information 
 leaks. The COOP response header allows a document to request a new browsing context group to better isolate itself 
@@ -149,15 +149,19 @@ to a look-alike document to trick the user, or attempt to exploit postMessage vu
 to the malicious document to get access to sensitive data from the victim document, if they share an OS process.</li>
 </ul>
 
-<p>The COOP header can have one of 3 values: <code class="language-plaintext highlighter-rouge">same-origin</code>, <code class="language-plaintext highlighter-rouge">same-origin-allow-popups</code>, <code class="language-plaintext highlighter-rouge">unsafe-none</code>. If the COOP values 
-are the same, and the origins of the documents match the relationship declared in the COOP header value, documents can 
-interact with each other. Otherwise, if at least one of the documents sets COOP, the browser will create a new browsing 
-context group severing the link between the documents. Sites can use <code class="language-plaintext highlighter-rouge">same-origin-allow-popups</code> to allow popups they open
-to be in their browsing context group (unless the popup’s own COOP prevents this).</p>
+<p>The COOP header can have one of 3 values:</p>
+<ul>
+  <li><code class="language-plaintext highlighter-rouge">same-origin</code></li>
+  <li><code class="language-plaintext highlighter-rouge">same-origin-allow-popups</code></li>
+  <li><code class="language-plaintext highlighter-rouge">unsafe-none</code></li>
+</ul>
 
-<p>COOP is now supported by all major browsers.</p>
+<p>If the COOP values are the same, and the origins of the documents match the relationship declared in the COOP header 
+value, documents can interact with each other. Otherwise, if at least one of the documents sets COOP, the browser 
+will create a new browsing context group severing the link between the documents. Sites can use <code class="language-plaintext highlighter-rouge">same-origin-allow-popups</code> 
+to allow popups they open to be in their browsing context group (unless the popup’s own COOP prevents this).</p>
 
-<p><a href="https://web.dev/why-coop-coep/#coop">More information about COOP</a>.</p>
+<p>COOP is now supported by all major browsers. <a href="https://web.dev/why-coop-coep/#coop">More information about COOP</a>.</p>
 
 <h2 id="parameters">Parameters</h2>
 
@@ -172,8 +176,8 @@ slashes and must be relative. This field is empty by default.</li>
 
 <div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;action</span>  <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">&gt;</span>
     <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coopInterceptor.exemptedPaths"</span><span class="nt">&gt;</span>/path1,/path2,/path3<span class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coopInterceptor.mode"</span><span class="nt">&gt;</span>same-origin<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coop.exemptedPaths"</span><span class="nt">&gt;</span>/path1,/path2,/path3<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"coop.mode"</span><span class="nt">&gt;</span>same-origin<span class="nt">&lt;/param&gt;</span>
     <span class="nt">&lt;/interceptor-ref&gt;</span>
     <span class="nt">&lt;result</span> <span class="na">name=</span><span class="s">"success"</span><span class="nt">&gt;</span>good_result.ftl<span class="nt">&lt;/result&gt;</span>
 <span class="nt">&lt;/action&gt;</span>
diff --git a/output/core-developers/csp-interceptor.html b/output/core-developers/csp-interceptor.html
index 187c56395..af67cc35b 100644
--- a/output/core-developers/csp-interceptor.html
+++ b/output/core-developers/csp-interceptor.html
@@ -144,9 +144,7 @@ to site defacement, to malware distribution.</p>
 <p>CSP can work in two modes, either <strong>enforce</strong> or <strong>report</strong>. In the report mode the <code class="language-plaintext highlighter-rouge">Content-Security-Policy-Report-Only</code>
 header is sent and <code class="language-plaintext highlighter-rouge">Content-Security-Policy</code> header is used when using the enforce mode.</p>
 
-<p>CSP is now supported by all major browsers.</p>
-
-<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">More information about CSP</a>.</p>
+<p>CSP is now supported by all major browsers. <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">More information about CSP</a>.</p>
 
 <h2 id="parameters">Parameters</h2>
 
diff --git a/output/core-developers/fetch-metadata-interceptor.html b/output/core-developers/fetch-metadata-interceptor.html
index 7582ee624..3f4dd1bb9 100644
--- a/output/core-developers/fetch-metadata-interceptor.html
+++ b/output/core-developers/fetch-metadata-interceptor.html
@@ -135,22 +135,29 @@
 
 <h2 id="description">Description</h2>
 
-<p>An interceptor that implements Fetch Metadata on incoming requests used to protect against CSRF, XSSI, and cross-origin information leaks. Uses a default Resource Isolation Policy to programmatically reject cross-origin requests.</p>
+<p>An interceptor that implements Fetch Metadata on incoming requests used to protect against CSRF, XSSI, and cross-origin 
+information leaks. Uses a default Resource Isolation Policy to programmatically reject cross-origin requests.</p>
 
-<p>A Resource Isolation Policy is a strong defense in-depth mechanism that prevents the resources on a server from being requested by external websites. This policy can be enabled either for all endpoints of the application and  endpoints that are meant to be loaded in a cross-site context can be exempted from the policy.</p>
+<p>A Resource Isolation Policy is a strong defense in-depth mechanism that prevents the resources on a server from being 
+requested by external websites. This policy can be enabled either for all endpoints of the application and  endpoints 
+that are meant to be loaded in a cross-site context can be exempted from the policy.</p>
 
-<p>The browser provides information about the context of an HTTP request in a set of <code class="language-plaintext highlighter-rouge">Sec-Fetch-*</code> headers. This allows the server processing the request to make decisions on whether the request should be accepted or rejected based on the preferred resource isolation policy. Struts provides a default Resource Isolation Policy that rejects cross-origin requests that aren’t top level navigations.</p>
+<p>The browser provides information about the context of an HTTP request in a set of <code class="language-plaintext highlighter-rouge">Sec-Fetch-*</code> headers. This allows 
+the server processing the request to make decisions on whether the request should be accepted or rejected based 
+on the preferred resource isolation policy. Struts provides a default <em>Resource Isolation Policy</em> that rejects 
+<em>cross-origin</em> requests that aren’t top level navigations.</p>
 
 <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Sec-Fetch-Site == 'cross-site' AND (Sec-Fetch-Mode != 'navigate'/'nested-navigate' OR method NOT IN [GET, HEAD])
 </code></pre></div></div>
 
-<p>Refer to <a href="https://web.dev/fetch-metadata/#implementing-a-resource-isolation-policy">Implementing a Resource Isolation Policy</a> for further information on implementing effective Resource Isolation Policies.
-Fetch Metadata is supported in all major browsers</p>
+<p>Refer to <a href="https://web.dev/fetch-metadata/#implementing-a-resource-isolation-policy">Implementing a Resource Isolation Policy</a> 
+for further information on implementing effective Resource Isolation Policies. Fetch Metadata is supported in all major browsers.</p>
 
 <h2 id="parameters">Parameters</h2>
 
 <ul>
-  <li><code class="language-plaintext highlighter-rouge">exemptedPaths</code> - Set of opt out endpoints that are meant to serve cross-site traffic. Paths should contain leading slashes and must be relative. This field is empty by default.</li>
+  <li><code class="language-plaintext highlighter-rouge">exemptedPaths</code> - Set of opt out endpoints that are meant to serve cross-site traffic. Paths should contain leading 
+ slashes and must be relative. This field is empty by default.</li>
 </ul>
 
 <h2 id="examples">Examples</h2>
diff --git a/output/core-developers/interceptors.html b/output/core-developers/interceptors.html
index 7c2c9ed2d..6c499e4e8 100644
--- a/output/core-developers/interceptors.html
+++ b/output/core-developers/interceptors.html
@@ -248,307 +248,14 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
  */
 --&gt;</span>
 
-<span class="c">&lt;!--
-    When declaring beans in this file you must either use name="struts" or don't name the bean at all.
-
-    The name="struts" must be used when alias was defined in {@link org.apache.struts2.config.StrutsBeanSelectionProvider} -
-    it is then the default bean's name and {@link org.apache.struts2.config.StrutsBeanSelectionProvider} links name "struts"
-    with "default" (aliasing it)
-
-    If name won't be defined then the "default" value will be used {@link com.opensymphony.xwork2.inject.Container#DEFAULT_NAME}
-    and {@link com.opensymphony.xwork2.inject.Inject}
---&gt;</span>
 <span class="cp">&lt;!DOCTYPE struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 6.0//EN"
         "https://struts.apache.org/dtds/struts-6.0.dtd"&gt;</span>
 
 <span class="nt">&lt;struts&gt;</span>
 
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.excludedClasses"</span>
-              <span class="na">value=</span><span class="s">"
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                java.lang.ProcessBuilder,
-                java.lang.Thread,
-                sun.misc.Unsafe,
-                com.opensymphony.xwork2.ActionContext"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.devMode.excludedClasses"</span>
-              <span class="na">value=</span><span class="s">"
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                java.lang.ProcessBuilder,
-                sun.misc.Unsafe"</span><span class="nt">/&gt;</span>
-
-    <span class="c">&lt;!-- this must be valid regex, each '.' in package name must be escaped! --&gt;</span>
-    <span class="c">&lt;!-- it's more flexible but slower than simple string comparison --&gt;</span>
-    <span class="c">&lt;!-- constant name="struts.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / --&gt;</span>
-    <span class="c">&lt;!-- constant name="struts.devMode.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / --&gt;</span>
-
-    <span class="c">&lt;!-- this is simpler version of the above used with string comparison --&gt;</span>
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.excludedPackageNames"</span>
-              <span class="na">value=</span><span class="s">"
-                ognl.,
-                java.io.,
-                java.net.,
-                java.nio.,
-                javax.,
-                freemarker.core.,
-                freemarker.template.,
-                freemarker.ext.jsp.,
-                freemarker.ext.rhino.,
-                sun.misc.,
-                sun.reflect.,
-                javassist.,
-                org.apache.velocity.,
-                org.objectweb.asm.,
-                org.springframework.context.,
-                com.opensymphony.xwork2.inject.,
-                com.opensymphony.xwork2.ognl.,
-                com.opensymphony.xwork2.security.,
-                com.opensymphony.xwork2.util.,
-                org.apache.tomcat.,
-                org.apache.catalina.core.,
-                org.wildfly.extension.undertow.deployment."</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.devMode.excludedPackageNames"</span>
-              <span class="na">value=</span><span class="s">"
-                ognl.,
-                java.io.,
-                java.net.,
-                java.nio.,
-                javax.,
-                freemarker.core.,
-                freemarker.template.,
-                freemarker.ext.jsp.,
-                freemarker.ext.rhino.,
-                sun.misc.,
-                sun.reflect.,
-                javassist.,
-                org.apache.velocity.,
-                org.objectweb.asm.,
-                org.springframework.context.,
-                com.opensymphony.xwork2.inject.,
-                com.opensymphony.xwork2.ognl.,
-                com.opensymphony.xwork2.security.,
-                com.opensymphony.xwork2.util."</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.FileManager"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.fs.DefaultFileManager"</span>
-          <span class="na">name=</span><span class="s">"system"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.FileManagerFactory"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ActionProxyFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsActionProxyFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ActionProxyFactory"</span> <span class="na">name=</span><span class="s">"prefix"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.PrefixBasedActionProxyFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ObjectTypeDeterminer"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.WildcardHelper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"namedVariable"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.NamedVariablePatternMatcher"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"regex"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.util.RegexPatternMatcher"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.util.ContentTypeMatcher"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.util.DefaultContentTypeMatcher"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.DefaultActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"composite"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.CompositeActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"prefix"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"restful"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.RestfulActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"restful2"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.Restful2ActionMapper"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.multipart.MultiPartRequest"</span> <span class="na">name=</span><span class="s">"jakarta"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.multipart.MultiPartRequest"</span> <span class="na">name=</span><span class="s">"jakarta-stream"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.views.TagLibraryModelProvider"</span> <span class="na">name=</span><span class="s">"s"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.views.DefaultTagLibrary"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.freemarker.FreemarkerThemeTemplateLoader"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.freemarker.FreemarkerManager"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.TemplateEngineManager"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.template.TemplateEngine"</span> <span class="na">name=</span><span class="s">"ftl"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.FreemarkerTemplateEngine"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.template.TemplateEngine"</span> <span class="na">name=</span><span class="s">"jsp"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.JspTemplateEngine"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkConverter"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsConversionPropertiesProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.CollectionConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.CollectionConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.ArrayConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.ArrayConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DateConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DateConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.NumberConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.NumberConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.StringConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.StringConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocalizedTextProvider"</span> <span class="na">name=</span><span class="s">"global-only"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.GlobalLocalizedTextProvider"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocalizedTextProvider"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.StrutsLocalizedTextProvider"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.TextProvider"</span> <span class="na">name=</span><span class="s">"system"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultTextProvider"</span>
-          <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.TextProviderFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.StrutsTextProviderFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocaleProviderFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultLocaleProviderFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.UrlRenderer"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.ServletUrlRenderer"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.views.util.UrlHelper"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.views.util.DefaultUrlHelper"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.ValueStackFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlValueStackFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.reflection.ReflectionProvider"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlReflectionProvider"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.reflection.ReflectionContextFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlReflectionContextFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.NullHandler"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ActionValidatorManager"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.AnnotationActionValidatorManager"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ActionValidatorManager"</span> <span class="na">name=</span><span class="s">"no-annotations"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultActionValidatorManager"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ValidatorFactory"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultValidatorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ValidatorFileParser"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultValidatorFileParser"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlUtil"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.TextParser"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.OgnlTextParser"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.util.CompoundRoot"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ObjectAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Iterator"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkIteratorPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Enumeration"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkEnumerationAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.List"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Set"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Map"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Collection"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.ognl.ObjectProxy"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ObjectProxyPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"org.apache.struts2.dispatcher.HttpParameters"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.HttpParametersPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"org.apache.struts2.dispatcher.Parameter"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ParameterPropertyAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.MethodAccessor"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.MethodAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.util.CompoundRoot"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.jsp.ui.OgnlTool"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.StaticContentLoader"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.DefaultStaticContentLoader"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.UnknownHandlerManager"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultUnknownHandlerManager"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.DispatcherErrorHandler"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler"</span><span class="nt">/&gt;</span>
-
-    <span class="c">&lt;!--  Silly workarounds for OGNL since there is currently no way to flush its internal caches --&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.ArrayList"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.HashSet"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.HashMap"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.ExcludedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.AcceptedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.NotExcludedAcceptedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultNotExcludedAcceptedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.config.providers.ValueSubstitutor"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.config.providers.EnvsValueSubstitutor"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.date.DateFormatter"</span> <span class="na">name=</span><span class="s">"simpleDateFormatter"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.date.SimpleDateFormatAdapter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.date.DateFormatter"</span> <span class="na">name=</span><span class="s">"dateTimeFormatter"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.date.DateTimeFormatterAdapter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ognl.ExpressionCacheFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.DefaultOgnlExpressionCacheFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ognl.BeanInfoCacheFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.DefaultOgnlBeanInfoCacheFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.QueryStringBuilder"</span> <span class="na">name=</span><span class="s">"strutsQueryStringBuilder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsQueryStringBuilder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.QueryStringParser"</span> <span class="na">name=</span><span class="s">"strutsQueryStringParser"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsQueryStringParser"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.UrlEncoder"</span> <span class="na">name=</span><span class="s">"strutsUrlEncoder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsUrlEncoder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.UrlDecoder"</span> <span class="na">name=</span><span class="s">"strutsUrlDecoder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsUrlDecoder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;include</span> <span class="na">file=</span><span class="s">"struts-excluded-classes.xml"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;include</span> <span class="na">file=</span><span class="s">"struts-beans.xml"</span><span class="nt">/&gt;</span>
 
     <span class="nt">&lt;package</span> <span class="na">name=</span><span class="s">"struts-default"</span> <span class="na">abstract=</span><span class="s">"true"</span><span class="nt">&gt;</span>
         <span class="nt">&lt;result-types&gt;</span>
@@ -559,7 +266,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"redirect"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.ServletRedirectResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"redirectAction"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.ServletActionRedirectResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"stream"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.StreamResult"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"xslt"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.xslt.XSLTResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"plainText"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.PlainTextResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"postback"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.PostbackResult"</span><span class="nt">/&gt;</span>
         <span class="nt">&lt;/result-types&gt;</span>
@@ -569,15 +275,15 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"autowiring"</span>
                          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"chain"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ChainingInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coepInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoepInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coep"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoepInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"conversionError"</span>
                          <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.StrutsConversionErrorInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cookie"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CookieInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cookieProvider"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CookieProviderInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"clearSession"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ClearSessionInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coopInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoopInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coop"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoopInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"createSession"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CreateSessionInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cspInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.csp.CspInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"csp"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.csp.CspInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"debugging"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.debugging.DebuggingInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"execAndWait"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"exception"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"</span><span class="nt">/&gt;</span>
@@ -714,7 +420,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"alias"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"servletConfig"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"i18n"</span><span class="nt">/&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"cspInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"csp"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                 <span class="nt">&lt;/interceptor-ref&gt;</span>
@@ -730,12 +436,12 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"params"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"conversionError"</span><span class="nt">/&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coepInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coep"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"exemptedPaths"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;/interceptor-ref&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coopInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coop"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"exemptedPaths"</span><span class="nt">/&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"mode"</span><span class="nt">&gt;</span>same-origin<span class="nt">&lt;/param&gt;</span>
diff --git a/output/core-developers/struts-default-xml.html b/output/core-developers/struts-default-xml.html
index b12caa413..df22d75ee 100644
--- a/output/core-developers/struts-default-xml.html
+++ b/output/core-developers/struts-default-xml.html
@@ -164,307 +164,14 @@ setting in <a href="default-properties">default.properties</a>.</p>
  */
 --&gt;</span>
 
-<span class="c">&lt;!--
-    When declaring beans in this file you must either use name="struts" or don't name the bean at all.
-
-    The name="struts" must be used when alias was defined in {@link org.apache.struts2.config.StrutsBeanSelectionProvider} -
-    it is then the default bean's name and {@link org.apache.struts2.config.StrutsBeanSelectionProvider} links name "struts"
-    with "default" (aliasing it)
-
-    If name won't be defined then the "default" value will be used {@link com.opensymphony.xwork2.inject.Container#DEFAULT_NAME}
-    and {@link com.opensymphony.xwork2.inject.Inject}
---&gt;</span>
 <span class="cp">&lt;!DOCTYPE struts PUBLIC
         "-//Apache Software Foundation//DTD Struts Configuration 6.0//EN"
         "https://struts.apache.org/dtds/struts-6.0.dtd"&gt;</span>
 
 <span class="nt">&lt;struts&gt;</span>
 
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.excludedClasses"</span>
-              <span class="na">value=</span><span class="s">"
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                java.lang.ProcessBuilder,
-                java.lang.Thread,
-                sun.misc.Unsafe,
-                com.opensymphony.xwork2.ActionContext"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.devMode.excludedClasses"</span>
-              <span class="na">value=</span><span class="s">"
-                java.lang.Object,
-                java.lang.Runtime,
-                java.lang.System,
-                java.lang.Class,
-                java.lang.ClassLoader,
-                java.lang.Shutdown,
-                java.lang.ProcessBuilder,
-                sun.misc.Unsafe"</span><span class="nt">/&gt;</span>
-
-    <span class="c">&lt;!-- this must be valid regex, each '.' in package name must be escaped! --&gt;</span>
-    <span class="c">&lt;!-- it's more flexible but slower than simple string comparison --&gt;</span>
-    <span class="c">&lt;!-- constant name="struts.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / --&gt;</span>
-    <span class="c">&lt;!-- constant name="struts.devMode.excludedPackageNamePatterns" value="^java\.lang\..*,^ognl.*,^(?!javax\.servlet\..+)(javax\..+)" / --&gt;</span>
-
-    <span class="c">&lt;!-- this is simpler version of the above used with string comparison --&gt;</span>
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.excludedPackageNames"</span>
-              <span class="na">value=</span><span class="s">"
-                ognl.,
-                java.io.,
-                java.net.,
-                java.nio.,
-                javax.,
-                freemarker.core.,
-                freemarker.template.,
-                freemarker.ext.jsp.,
-                freemarker.ext.rhino.,
-                sun.misc.,
-                sun.reflect.,
-                javassist.,
-                org.apache.velocity.,
-                org.objectweb.asm.,
-                org.springframework.context.,
-                com.opensymphony.xwork2.inject.,
-                com.opensymphony.xwork2.ognl.,
-                com.opensymphony.xwork2.security.,
-                com.opensymphony.xwork2.util.,
-                org.apache.tomcat.,
-                org.apache.catalina.core.,
-                org.wildfly.extension.undertow.deployment."</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;constant</span> <span class="na">name=</span><span class="s">"struts.devMode.excludedPackageNames"</span>
-              <span class="na">value=</span><span class="s">"
-                ognl.,
-                java.io.,
-                java.net.,
-                java.nio.,
-                javax.,
-                freemarker.core.,
-                freemarker.template.,
-                freemarker.ext.jsp.,
-                freemarker.ext.rhino.,
-                sun.misc.,
-                sun.reflect.,
-                javassist.,
-                org.apache.velocity.,
-                org.objectweb.asm.,
-                org.springframework.context.,
-                com.opensymphony.xwork2.inject.,
-                com.opensymphony.xwork2.ognl.,
-                com.opensymphony.xwork2.security.,
-                com.opensymphony.xwork2.util."</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.FileManager"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.fs.DefaultFileManager"</span>
-          <span class="na">name=</span><span class="s">"system"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.FileManagerFactory"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ActionProxyFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsActionProxyFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ActionProxyFactory"</span> <span class="na">name=</span><span class="s">"prefix"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.factory.PrefixBasedActionProxyFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ObjectTypeDeterminer"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.WildcardHelper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"namedVariable"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.NamedVariablePatternMatcher"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.PatternMatcher"</span> <span class="na">name=</span><span class="s">"regex"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.util.RegexPatternMatcher"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.util.ContentTypeMatcher"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.util.DefaultContentTypeMatcher"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.DefaultActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"composite"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.CompositeActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"prefix"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"restful"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.RestfulActionMapper"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.mapper.ActionMapper"</span> <span class="na">name=</span><span class="s">"restful2"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.mapper.Restful2ActionMapper"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.multipart.MultiPartRequest"</span> <span class="na">name=</span><span class="s">"jakarta"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.multipart.MultiPartRequest"</span> <span class="na">name=</span><span class="s">"jakarta-stream"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.views.TagLibraryModelProvider"</span> <span class="na">name=</span><span class="s">"s"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.views.DefaultTagLibrary"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.freemarker.FreemarkerThemeTemplateLoader"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.freemarker.FreemarkerManager"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.TemplateEngineManager"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.template.TemplateEngine"</span> <span class="na">name=</span><span class="s">"ftl"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.FreemarkerTemplateEngine"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.template.TemplateEngine"</span> <span class="na">name=</span><span class="s">"jsp"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.template.JspTemplateEngine"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkConverter"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsConversionPropertiesProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.CollectionConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.CollectionConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.ArrayConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.ArrayConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DateConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DateConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.NumberConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.NumberConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.StringConverter"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.StringConverter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocalizedTextProvider"</span> <span class="na">name=</span><span class="s">"global-only"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.GlobalLocalizedTextProvider"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocalizedTextProvider"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.StrutsLocalizedTextProvider"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.TextProvider"</span> <span class="na">name=</span><span class="s">"system"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultTextProvider"</span>
-          <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.TextProviderFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.StrutsTextProviderFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.LocaleProviderFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultLocaleProviderFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.UrlRenderer"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.ServletUrlRenderer"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.views.util.UrlHelper"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.views.util.DefaultUrlHelper"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.ValueStackFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlValueStackFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.reflection.ReflectionProvider"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlReflectionProvider"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.reflection.ReflectionContextFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlReflectionContextFactory"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.NullHandler"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ActionValidatorManager"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.AnnotationActionValidatorManager"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ActionValidatorManager"</span> <span class="na">name=</span><span class="s">"no-annotations"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultActionValidatorManager"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ValidatorFactory"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultValidatorFactory"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.validator.ValidatorFileParser"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.validator.DefaultValidatorFileParser"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.OgnlUtil"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.util.TextParser"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.util.OgnlTextParser"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.util.CompoundRoot"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ObjectAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Iterator"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkIteratorPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Enumeration"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkEnumerationAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.List"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Set"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Map"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.Collection"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.ognl.ObjectProxy"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ObjectProxyPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"org.apache.struts2.dispatcher.HttpParameters"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.HttpParametersPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"org.apache.struts2.dispatcher.Parameter"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.ParameterPropertyAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.MethodAccessor"</span> <span class="na">name=</span><span class="s">"java.lang.Object"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.MethodAccessor"</span> <span class="na">name=</span><span class="s">"com.opensymphony.xwork2.util.CompoundRoot"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.jsp.ui.OgnlTool"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.StaticContentLoader"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.DefaultStaticContentLoader"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.UnknownHandlerManager"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.DefaultUnknownHandlerManager"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.dispatcher.DispatcherErrorHandler"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler"</span><span class="nt">/&gt;</span>
-
-    <span class="c">&lt;!--  Silly workarounds for OGNL since there is currently no way to flush its internal caches --&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.ArrayList"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.HashSet"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"ognl.PropertyAccessor"</span> <span class="na">name=</span><span class="s">"java.util.HashMap"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.ExcludedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.AcceptedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultAcceptedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"prototype"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.security.NotExcludedAcceptedPatternsChecker"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.security.DefaultNotExcludedAcceptedPatternsChecker"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.config.providers.ValueSubstitutor"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.config.providers.EnvsValueSubstitutor"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.date.DateFormatter"</span> <span class="na">name=</span><span class="s">"simpleDateFormatter"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.date.SimpleDateFormatAdapter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.components.date.DateFormatter"</span> <span class="na">name=</span><span class="s">"dateTimeFormatter"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.components.date.DateTimeFormatterAdapter"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ognl.ExpressionCacheFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.DefaultOgnlExpressionCacheFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.ognl.BeanInfoCacheFactory"</span> <span class="na">name=</span><span class="s">"struts"</span>
-          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ognl.DefaultOgnlBeanInfoCacheFactory"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.QueryStringBuilder"</span> <span class="na">name=</span><span class="s">"strutsQueryStringBuilder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsQueryStringBuilder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.QueryStringParser"</span> <span class="na">name=</span><span class="s">"strutsQueryStringParser"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsQueryStringParser"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.UrlEncoder"</span> <span class="na">name=</span><span class="s">"strutsUrlEncoder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsUrlEncoder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"org.apache.struts2.url.UrlDecoder"</span> <span class="na">name=</span><span class="s">"strutsUrlDecoder"</span>
-          <span class="na">class=</span><span class="s">"org.apache.struts2.url.StrutsUrlDecoder"</span> <span class="na">scope=</span><span class="s">"singleton"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;include</span> <span class="na">file=</span><span class="s">"struts-excluded-classes.xml"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;include</span> <span class="na">file=</span><span class="s">"struts-beans.xml"</span><span class="nt">/&gt;</span>
 
     <span class="nt">&lt;package</span> <span class="na">name=</span><span class="s">"struts-default"</span> <span class="na">abstract=</span><span class="s">"true"</span><span class="nt">&gt;</span>
         <span class="nt">&lt;result-types&gt;</span>
@@ -475,7 +182,6 @@ setting in <a href="default-properties">default.properties</a>.</p>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"redirect"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.ServletRedirectResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"redirectAction"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.ServletActionRedirectResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"stream"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.StreamResult"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"xslt"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.views.xslt.XSLTResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"plainText"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.PlainTextResult"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;result-type</span> <span class="na">name=</span><span class="s">"postback"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.result.PostbackResult"</span><span class="nt">/&gt;</span>
         <span class="nt">&lt;/result-types&gt;</span>
@@ -485,15 +191,15 @@ setting in <a href="default-properties">default.properties</a>.</p>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"autowiring"</span>
                          <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"chain"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ChainingInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coepInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoepInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coep"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoepInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"conversionError"</span>
                          <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.StrutsConversionErrorInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cookie"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CookieInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cookieProvider"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CookieProviderInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"clearSession"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ClearSessionInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coopInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoopInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"coop"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CoopInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"createSession"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.CreateSessionInterceptor"</span><span class="nt">/&gt;</span>
-            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"cspInterceptor"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.csp.CspInterceptor"</span><span class="nt">/&gt;</span>
+            <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"csp"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.csp.CspInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"debugging"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.debugging.DebuggingInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"execAndWait"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"</span><span class="nt">/&gt;</span>
             <span class="nt">&lt;interceptor</span> <span class="na">name=</span><span class="s">"exception"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"</span><span class="nt">/&gt;</span>
@@ -630,7 +336,7 @@ setting in <a href="default-properties">default.properties</a>.</p>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"alias"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"servletConfig"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"i18n"</span><span class="nt">/&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"cspInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"csp"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                 <span class="nt">&lt;/interceptor-ref&gt;</span>
@@ -646,12 +352,12 @@ setting in <a href="default-properties">default.properties</a>.</p>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"params"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"conversionError"</span><span class="nt">/&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coepInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coep"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"enforcingMode"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"exemptedPaths"</span><span class="nt">/&gt;</span>
                 <span class="nt">&lt;/interceptor-ref&gt;</span>
-                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coopInterceptor"</span><span class="nt">&gt;</span>
+                <span class="nt">&lt;interceptor-ref</span> <span class="na">name=</span><span class="s">"coop"</span><span class="nt">&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"disabled"</span><span class="nt">&gt;</span>false<span class="nt">&lt;/param&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"exemptedPaths"</span><span class="nt">/&gt;</span>
                     <span class="nt">&lt;param</span> <span class="na">name=</span><span class="s">"mode"</span><span class="nt">&gt;</span>same-origin<span class="nt">&lt;/param&gt;</span>