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 0f9b33b Updates production by Jenkins
0f9b33b is described below
commit 0f9b33bac05ce3c932e46a89e8f3984411d830cf
Author: jenkins <[email protected]>
AuthorDate: Fri Jan 26 17:31:26 2018 +0000
Updates production by Jenkins
---
content/plugins/plugins.html | 618 +++++++++++++++++++++----------------------
1 file changed, 308 insertions(+), 310 deletions(-)
diff --git a/content/plugins/plugins.html b/content/plugins/plugins.html
index 640dc3d..23bd659 100644
--- a/content/plugins/plugins.html
+++ b/content/plugins/plugins.html
@@ -134,12 +134,6 @@
<ul id="markdown-toc">
<li><a href="#static-resources" id="markdown-toc-static-resources">Static
resources</a></li>
<li><a href="#extension-points" id="markdown-toc-extension-points">Extension
Points</a></li>
- <li><a href="#plugin-examples" id="markdown-toc-plugin-examples">Plugin
Examples</a> <ul>
- <li><a href="#sitemesh-plugin"
id="markdown-toc-sitemesh-plugin">Sitemesh plugin</a></li>
- <li><a href="#tiles-plugin" id="markdown-toc-tiles-plugin">Tiles
plugin</a></li>
- </ul>
- </li>
- <li><a href="#plugin-registry" id="markdown-toc-plugin-registry">Plugin
Registry</a></li>
</ul>
<p>Struts 2 plugins contain classes and configuration that extend, replace, or
add to existing Struts framework functionality. A plugin can be installed by
adding its JAR file to the application’s class path, in addition to the JAR
files to fulfill whatever dependencies the plugin itself may have. To configure
the plugin, the JAR should contain a <code
class="highlighter-rouge">struts-plugin.xml</code> file, which follows the same
format as an ordinary <code class="highlighter-rouge">str [...]
@@ -196,285 +190,287 @@
<p>The following extension points are available in Struts 2:</p>
-<div class="highlighter-rouge"><pre class="highlight"><code> <span
class="nt"><table</span> <span class="na">border=</span><span
class="s">"1"</span> <span class="na">summary=</span><span
class="s">""</span><span class="nt">></span>
- <span class="nt"><tr></span>
- <span class="nt"><th></span>Type<span class="nt"></th></span>
- <span class="nt"><th></span>Property<span
class="nt"></th></span>
- <span class="nt"><th></span>Scope<span class="nt"></th></span>
- <span class="nt"><th></span>Description<span
class="nt"></th></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.ObjectFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.objectFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Creates actions, results, and
interceptors<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.factory.ActionFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.objectFactory.actionFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Dedicated factory used to create
Actions, you can implement/extend existing one instead of defining new
ObjectFactory<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.factory.ResultFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.objectFactory.resultFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Dedicated factory used to create
Results, you can implement/extend existing one instead of defining new
ObjectFactory<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.factory.InterceptorFactory<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.objectFactory.interceptorFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Dedicated factory used to create
Interceptors, you can implement/extend existing one instead of defining new
ObjectFactory<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.factory.ConverterFactory<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.objectFactory.converterFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Dedicated factory used to create
TypeConverters, you can implement/extend existing one instead of defining new
ObjectFactory<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.factory.ValidatorFactory<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.objectFactory.validatorFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Dedicated factory used to create
Validators, you can implement/extend existing one instead of defining new
ObjectFactory<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.ActionProxyFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.actionProxyFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Creates the ActionProxy<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.util.ObjectTypeDeterminer<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.objectTypeDeterminer<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Determines what the key and element
class of a Map or Collection should be<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.dispatcher.mapper.ActionMapper<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.mapper.class<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Determines the ActionMapping from a
request and a URI from an ActionMapping<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.dispatcher.multipart.MultiPartRequest<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.multipart.parser<span
class="nt"></td></span>
- <span class="nt"><td></span>per request<span
class="nt"></td></span>
- <span class="nt"><td></span>Parses a multipart request (file
upload)<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.views.freemarker.FreemarkerManager<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.freemarker.manager.classname<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Loads and processes Freemarker
templates<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.views.velocity.VelocityManager<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.velocity.manager.classname<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Loads and processes Velocity
templates<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.validator.ActionValidatorManager<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.actionValidatorManager<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Main interface for validation managers
(regular and annotation based). Handles both the loading of
- configuration and the actual validation (since 2.1)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.util.ValueStackFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.valueStackFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Creates value stacks (since 2.1)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.reflection.ReflectionProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.reflectionProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Provides reflection services, key place
to plug in a custom expression language (since 2.1)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.reflection.ReflectionContextFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.reflectionContextFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Creates reflection context maps used
for reflection and expression language operations (since 2.1)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.config.PackageProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>N/A<span class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>All beans registered as PackageProvider
implementations will be automatically included in configuration building (since
2.1)<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.util.PatternMatcher<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.patternMatcher<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Matches patterns, such as action names,
generally used in configuration (since 2.1)<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.views.dispatcher.DefaultStaticContentLoader<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.staticContentLoader<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Loads static resources (since 2.1)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.XWorkConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.xworkConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Handles conversion logic and allows to
load custom converters per class or per action<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.TextProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.xworkTextProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>default<span
class="nt"></td></span>
- <span class="nt"><td></span>Allows provide custom TextProvider for
whole application<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.LocaleProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.localeProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>DEPRECATED! Allows provide custom
TextProvider for whole application - instead this endpoint use <span
class="nt"><b></span>struts.localeProviderFactory<span
class="nt"></b></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.LocaleProviderFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.localeProviderFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Allows provide custom LocaleProvider
for whole application<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.components.UrlRenderer<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.urlRenderer<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Allows provide custom implementation of
environment specific URL rendering/creating class<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.UnknownHandlerManager<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.unknownHandlerManager<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Implementation of this interface allows
handle logic of unknown Actions, Methods or Results<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.views.util.UrlHelper<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.view.urlHelper<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Helper class used with URLRenderer to
provide exact logic for building URLs<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.FileManagerFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.fileManagerFactory<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Used to create {@link FileManager}
instance to access files on the File System as also to monitor if reload is
needed,
+<table border="1" summary="">
+ <tr>
+ <th>Type</th>
+ <th>Property</th>
+ <th>Scope</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.ObjectFactory</td>
+ <td>struts.objectFactory</td>
+ <td>singleton</td>
+ <td>Creates actions, results, and interceptors</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.factory.ActionFactory</td>
+ <td>struts.objectFactory.actionFactory</td>
+ <td>singleton</td>
+ <td>Dedicated factory used to create Actions, you can implement/extend
existing one instead of defining new ObjectFactory</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.factory.ResultFactory</td>
+ <td>struts.objectFactory.resultFactory</td>
+ <td>singleton</td>
+ <td>Dedicated factory used to create Results, you can implement/extend
existing one instead of defining new ObjectFactory</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.factory.InterceptorFactory</td>
+ <td>struts.objectFactory.interceptorFactory</td>
+ <td>singleton</td>
+ <td>Dedicated factory used to create Interceptors, you can
implement/extend existing one instead of defining new ObjectFactory</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.factory.ConverterFactory</td>
+ <td>struts.objectFactory.converterFactory</td>
+ <td>singleton</td>
+ <td>Dedicated factory used to create TypeConverters, you can
implement/extend existing one instead of defining new ObjectFactory</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.factory.ValidatorFactory</td>
+ <td>struts.objectFactory.validatorFactory</td>
+ <td>singleton</td>
+ <td>Dedicated factory used to create Validators, you can implement/extend
existing one instead of defining new ObjectFactory</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.ActionProxyFactory</td>
+ <td>struts.actionProxyFactory</td>
+ <td>singleton</td>
+ <td>Creates the ActionProxy</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.util.ObjectTypeDeterminer</td>
+ <td>struts.objectTypeDeterminer</td>
+ <td>singleton</td>
+ <td>Determines what the key and element class of a Map or Collection
should be</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.dispatcher.mapper.ActionMapper</td>
+ <td>struts.mapper.class</td>
+ <td>singleton</td>
+ <td>Determines the ActionMapping from a request and a URI from an
ActionMapping</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.dispatcher.multipart.MultiPartRequest</td>
+ <td>struts.multipart.parser</td>
+ <td>per request</td>
+ <td>Parses a multipart request (file upload)</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.views.freemarker.FreemarkerManager</td>
+ <td>struts.freemarker.manager.classname</td>
+ <td>singleton</td>
+ <td>Loads and processes Freemarker templates</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.views.velocity.VelocityManager</td>
+ <td>struts.velocity.manager.classname</td>
+ <td>singleton</td>
+ <td>Loads and processes Velocity templates</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.validator.ActionValidatorManager</td>
+ <td>struts.actionValidatorManager</td>
+ <td>singleton</td>
+ <td>Main interface for validation managers (regular and annotation
based). Handles both the loading of
+ configuration and the actual validation (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.util.ValueStackFactory</td>
+ <td>struts.valueStackFactory</td>
+ <td>singleton</td>
+ <td>Creates value stacks (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.reflection.ReflectionProvider</td>
+ <td>struts.reflectionProvider</td>
+ <td>singleton</td>
+ <td>Provides reflection services, key place to plug in a custom
expression language (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.reflection.ReflectionContextFactory</td>
+ <td>struts.reflectionContextFactory</td>
+ <td>singleton</td>
+ <td>Creates reflection context maps used for reflection and expression
language operations (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.config.PackageProvider</td>
+ <td>N/A</td>
+ <td>singleton</td>
+ <td>All beans registered as PackageProvider implementations will be
automatically included in configuration building (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.util.PatternMatcher</td>
+ <td>struts.patternMatcher</td>
+ <td>singleton</td>
+ <td>Matches patterns, such as action names, generally used in
configuration (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.views.dispatcher.DefaultStaticContentLoader</td>
+ <td>struts.staticContentLoader</td>
+ <td>singleton</td>
+ <td>Loads static resources (since 2.1)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.XWorkConverter</td>
+ <td>struts.xworkConverter</td>
+ <td>singleton</td>
+ <td>Handles conversion logic and allows to load custom converters per
class or per action</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.TextProvider</td>
+ <td>struts.xworkTextProvider</td>
+ <td>default</td>
+ <td>Allows provide custom TextProvider for whole application</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.LocaleProvider</td>
+ <td>struts.localeProvider</td>
+ <td>singleton</td>
+ <td>DEPRECATED! Allows provide custom TextProvider for whole application
- instead this endpoint use <b>struts.localeProviderFactory</b></td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.LocaleProviderFactory</td>
+ <td>struts.localeProviderFactory</td>
+ <td>singleton</td>
+ <td>Allows provide custom LocaleProvider for whole application</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.components.UrlRenderer</td>
+ <td>struts.urlRenderer</td>
+ <td>singleton</td>
+ <td>Allows provide custom implementation of environment specific URL
rendering/creating class</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.UnknownHandlerManager</td>
+ <td>struts.unknownHandlerManager</td>
+ <td>singleton</td>
+ <td>Implementation of this interface allows handle logic of unknown
Actions, Methods or Results</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.views.util.UrlHelper</td>
+ <td>struts.view.urlHelper</td>
+ <td>singleton</td>
+ <td>Helper class used with URLRenderer to provide exact logic for
building URLs</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.FileManagerFactory</td>
+ <td>struts.fileManagerFactory</td>
+ <td>singleton</td>
+ <td>Used to create {@link FileManager} instance to access files on the
File System as also to monitor if reload is needed,
can be implemented / overwritten to meet specific an application server
needs
- <span class="nt"></td></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.CollectionConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.collection<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Converter used to convert any object to
Collection and back<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.ArrayConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.array<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Converter used to convert any object to
Array and back<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.DateConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.date<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Converter used to convert any object to
Date and back<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.NumberConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.number<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Converter used to convert any object to
Number and back<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.impl.StringConverter<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.string<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Converter used to convert any object to
String and back<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.conversion.properties.processor<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Process Properties to create
converters<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.file.processor<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Process <span
class="nt"><class></span>-conversion.properties file create
converters<span class="nt"></class></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor<span
class="nt"></td></span>
- <span
class="nt"><td></span>struts.converter.annotation.processor<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Process TypeConversion annotation to
create converters<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.TypeConverterCreator<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.creator<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Creates user converters<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.conversion.TypeConverterHolder<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.converter.holder<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Holds user converters' instances<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.util.TextParser<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.expression.parser<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Used to parse expressions like
${foo.bar} or %{bar.foo} but it is up tp the TextParser's
- implementation what kind of opening char to use (#, $, %, etc)<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.ExcludedPatternsChecker<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.excludedPatterns.checker<span
class="nt"></td></span>
- <span class="nt"><td></span>request<span
class="nt"></td></span>
- <span class="nt"><td></span>Used across different interceptors to
check if given string matches one of the excluded patterns<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.AcceptedPatternsChecker<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.acceptedPatterns.checker<span
class="nt"></td></span>
- <span class="nt"><td></span>request<span
class="nt"></td></span>
- <span class="nt"><td></span>Used across different interceptors to
check if given string matches one of the accepted patterns<span
class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>org.apache.struts2.util.ContentTypeMatcher<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.contentTypeMatcher<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Matches content type of uploaded files
(since 2.3.22)<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"><tr></span>
- <span
class="nt"><td></span>com.opensymphony.xwork2.LocalizedTextProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>struts.localizedTextProvider<span
class="nt"></td></span>
- <span class="nt"><td></span>singleton<span
class="nt"></td></span>
- <span class="nt"><td></span>Provides access to resource bundles
used to localise messages (since 2.5.11)<span class="nt"></td></span>
- <span class="nt"></tr></span>
- <span class="nt"></table></span>
-
-
-</code></pre>
-</div>
-
-<h2 id="plugin-examples">Plugin Examples</h2>
-
-<p>Let’s look at two similar but different plugins bundled with the core
distribution.</p>
-
-<h3 id="sitemesh-plugin">Sitemesh plugin</h3>
-
-<p><a href="http://opensymphony.com/sitemesh/">SiteMesh</a> is a popular
alternative to Tiles. SiteMesh provides a common look-and-feel to an
application’s pages by automatically wrapping a plain page with common elements
like headers and menubars.</p>
-
-<p>The <code class="highlighter-rouge">sitemesh-plugin.jar</code> contains
several classes, a standard JAR manifest, and a plugin configuration file.</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code> + META-INF/
+ </td>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.CollectionConverter</td>
+ <td>struts.converter.collection</td>
+ <td>singleton</td>
+ <td>Converter used to convert any object to Collection and back</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.ArrayConverter</td>
+ <td>struts.converter.array</td>
+ <td>singleton</td>
+ <td>Converter used to convert any object to Array and back</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.DateConverter</td>
+ <td>struts.converter.date</td>
+ <td>singleton</td>
+ <td>Converter used to convert any object to Date and back</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.NumberConverter</td>
+ <td>struts.converter.number</td>
+ <td>singleton</td>
+ <td>Converter used to convert any object to Number and back</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.impl.StringConverter</td>
+ <td>struts.converter.string</td>
+ <td>singleton</td>
+ <td>Converter used to convert any object to String and back</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor</td>
+ <td>struts.conversion.properties.processor</td>
+ <td>singleton</td>
+ <td>Process Properties to create converters</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor</td>
+ <td>struts.converter.file.processor</td>
+ <td>singleton</td>
+ <td>Process <class>-conversion.properties file create
converters</class></td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor</td>
+ <td>struts.converter.annotation.processor</td>
+ <td>singleton</td>
+ <td>Process TypeConversion annotation to create converters</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.TypeConverterCreator</td>
+ <td>struts.converter.creator</td>
+ <td>singleton</td>
+ <td>Creates user converters</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.conversion.TypeConverterHolder</td>
+ <td>struts.converter.holder</td>
+ <td>singleton</td>
+ <td>Holds user converters' instances</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.util.TextParser</td>
+ <td>struts.expression.parser</td>
+ <td>singleton</td>
+ <td>Used to parse expressions like ${foo.bar} or %{bar.foo} but it is up
tp the TextParser's
+ implementation what kind of opening char to use (#, $, %, etc)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.ExcludedPatternsChecker</td>
+ <td>struts.excludedPatterns.checker</td>
+ <td>request</td>
+ <td>Used across different interceptors to check if given string matches
one of the excluded patterns</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.AcceptedPatternsChecker</td>
+ <td>struts.acceptedPatterns.checker</td>
+ <td>request</td>
+ <td>Used across different interceptors to check if given string matches
one of the accepted patterns</td>
+ </tr>
+ <tr>
+ <td>org.apache.struts2.util.ContentTypeMatcher</td>
+ <td>struts.contentTypeMatcher</td>
+ <td>singleton</td>
+ <td>Matches content type of uploaded files (since 2.3.22)</td>
+ </tr>
+ <tr>
+ <td>com.opensymphony.xwork2.LocalizedTextProvider</td>
+ <td>struts.localizedTextProvider</td>
+ <td>singleton</td>
+ <td>Provides access to resource bundles used to localise messages (since
2.5.11)</td>
+ </tr>
+
+
+
+
+
+
+
+## Plugin Examples
+
+Let's look at two similar but different plugins bundled with the core
distribution.
+
+### Sitemesh plugin
+
+[SiteMesh](http://opensymphony.com/sitemesh/) is a popular alternative to
Tiles. SiteMesh provides a common look-and-feel to an application's pages by
automatically wrapping a plain page with common elements like headers and
menubars.
+
+The `sitemesh-plugin.jar` contains several classes, a standard JAR manifest,
and a plugin configuration file.
+
+````text
+ + META-INF/
+ manifest.mf
+ org
+ apache
@@ -484,13 +480,15 @@
+ TemplatePageFilter.class
+ VelocityPageFilter.class
+ struts-plugin.xml
-</code></pre>
-</div>
+````
+
+While the SiteMesh Plugin doesn't provide any new results, interceptors, or
actions, or even extend any Struts integration points, it does need to know
what settings have been enabled in the Struts framework. Therefore, its
`struts-plugin.xml` looks like this:
+
-<p>While the SiteMesh Plugin doesn’t provide any new results, interceptors, or
actions, or even extend any Struts integration points, it does need to know
what settings have been enabled in the Struts framework. Therefore, its <code
class="highlighter-rouge">struts-plugin.xml</code> looks like this:</p>
-<div class="highlighter-rouge"><pre class="highlight"><code><span
class="cp"><?xml version="1.0" encoding="UTF-8" ?></span>
-<span class="c"><!--
+```xml
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
/*
* $Id$
*
@@ -511,28 +509,30 @@
* specific language governing permissions and limitations
* under the License.
*/
---></span>
-<span class="cp"><!DOCTYPE struts PUBLIC
+-->
+<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
- "http://struts.apache.org/dtds/struts-2.5.dtd"></span>
+ "http://struts.apache.org/dtds/struts-2.5.dtd">
-<span class="nt"><struts></span>
- <span class="nt"><bean</span> <span class="na">class=</span><span
class="s">"org.apache.struts2.sitemesh.FreemarkerPageFilter"</span> <span
class="na">static=</span><span class="s">"true"</span> <span
class="na">optional=</span><span class="s">"true"</span><span
class="nt">/></span>
- <span class="nt"><bean</span> <span class="na">class=</span><span
class="s">"org.apache.struts2.sitemesh.VelocityPageFilter"</span> <span
class="na">static=</span><span class="s">"true"</span> <span
class="na">optional=</span><span class="s">"true"</span><span
class="nt">/></span>
-<span class="nt"></struts></span>
+<struts>
+ <bean class="org.apache.struts2.sitemesh.FreemarkerPageFilter"
static="true" optional="true" />
+ <bean class="org.apache.struts2.sitemesh.VelocityPageFilter" static="true"
optional="true" />
+</struts>
+
+```
-</code></pre>
-</div>
-<p>The two bean elements, with the “static” flag enabled, tell Struts to
inject the current settings and framework objects into static property setters
on startup. This allows, for example, the FreeMarkerPageFilter class to get an
instance of the Struts FreemarkerManager and the current encoding setting.</p>
-<h3 id="tiles-plugin">Tiles plugin</h3>
+The two bean elements, with the "static" flag enabled, tell Struts to inject
the current settings and framework objects into static property setters on
startup. This allows, for example, the FreeMarkerPageFilter class to get an
instance of the Struts FreemarkerManager and the current encoding setting.
-<p><a
href="http://struts.apache.org/struts-sandbox/tiles/index.html">Tiles</a> is a
popular alternative to SiteMesh. Tiles provides a common look-and-feel to an
application’s pages by breaking the page down into common fragments or
“tiles”.</p>
+### Tiles plugin
-<p>The <code class="highlighter-rouge">tiles-plugin.jar</code> contains
several classes, a standard JAR manifest, and a configuration file.</p>
+[Tiles](http://struts.apache.org/struts-sandbox/tiles/index.html) is a popular
alternative to SiteMesh. Tiles provides a common look-and-feel to an
application's pages by breaking the page down into common fragments or "tiles".
-<div class="highlighter-rouge"><pre class="highlight"><code> + META-INF/
+The `tiles-plugin.jar` contains several classes, a standard JAR manifest, and
a configuration file.
+
+```text
+ + META-INF/
+ manifest.mf
+ org
+ apache
@@ -544,16 +544,14 @@
+ tiles
+ TilesResult.class
+ struts-plugin.xml
-</code></pre>
-</div>
+```
-<p>Since the Tiles Plugin does need to register configuration elements, a
result class, it provides a <code
class="highlighter-rouge">struts-plugin.xml</code> file.</p>
+Since the Tiles Plugin does need to register configuration elements, a result
class, it provides a `struts-plugin.xml` file.
-<h2 id="plugin-registry">Plugin Registry</h2>
+## Plugin Registry
-<blockquote>
- <p>For a list of bundled plugins, see the <a
href="plugin-developers.html">Plugin Reference Documentation</a>. For more
about bundled and third-party plugins, visit the <a
href="http://cwiki.apache.org/S2PLUGINS/home.html">Apache Struts Plugin
Registry</a>.</p>
-</blockquote>
+> For a list of bundled plugins, see the [Plugin Reference
Documentation](plugin-developers.html). For more about bundled and third-party
plugins, visit the [Apache Struts Plugin
Registry](http://cwiki.apache.org/S2PLUGINS/home.html).
+</tr></table>
</section>
</article>
--
To stop receiving notification emails like this one, please contact
[email protected].