Modified: websites/production/struts/content/docs/guides.html
==============================================================================
--- websites/production/struts/content/docs/guides.html (original)
+++ websites/production/struts/content/docs/guides.html Fri Mar 11 11:02:24 2016
@@ -125,7 +125,7 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent"><p>Our in-depth guides focus on
specific areas of the framework, such as Views, the Core framework, and
Third-party Extensions.</p><div class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>We started work on a new <a
shape="rect" href="user-guide.html">User Guide</a>, that should simplify
learning process. Please feel free to contribute!</p></div></div><h2
id="Guides-CoreDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13945"><a
shape="rect" href="core-developers-guide.html">Core Developers
Guide</a></h2><p>Struts 2 processes requests using three core types: <a
shape="rect" href="interceptor-configuration.html">interceptors</a>, <a
shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect"
href="result-configuration.html">re
sults</a>. Each may be configured via XML or annotations.</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="tutorials.html">Tutorials</a> - Read me first!</li><li>Developing
Applications with Struts 2<ul><li><a shape="rect"
href="nutshell.html">Nutshell</a></li><li><a shape="rect"
href="ajax.html">AJAX</a></li><li><a shape="rect"
href="dependency-injection.html">Dependency Injection</a></li><li><a
shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect"
href="debugging.html">Debugging</a></li><li><a shape="rect"
href="devmode.html">Development
Mode</a></li></ul></li><li>Configuration<ul><li><a shape="rect"
href="convention-plugin.html">Configuration by Convention</a></li><li><a
shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect"
href="configuration-elements.html">Configuration Elements</a><ul><li><a
shape="rect" href="action-configuration.html">A
ctions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard
Mappings</a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a
shape="rect" href="constant-configuration.html">Constants</a></li><li><a
shape="rect" href="exception-configuration.html">Exceptions</a>, <a
shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect"
href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect"
href="namespace-configuration.html">Namespaces</a>, <a shape="rect"
href="package-configuration.html">Packages</a>, <a shape="rect"
href="result-configuration.html">Results</a></li><li><a shape="rect"
href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect"
href="dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect"
href="configuration-files.html">Configuration Files</a><ul><li><a shape="rect"
href="webxml.html">web.xml</a></li><li><a shape="rect"
href="strutsxml.html">struts.xml</a></li><li><a shape="rect"
href="strutsproperties.
html">struts.properties</a></li><li><a shape="rect"
href="struts-defaultxml.html">struts-default.xml</a></li><li><a shape="rect"
href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect"
href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a
shape="rect" href="application-servers.html">Application Servers</a></li><li><a
shape="rect" href="performance-tuning.html">Performance
Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png"
data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect"
href="security.html">Security</a></li></ul></td><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect"
href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect"
class="external-link"
href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-sprin
g-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect"
class="external-link"
href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html"
rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect"
href="interceptors.html">Interceptors</a><ul><li><a shape="rect"
href="writing-interceptors.html">Writing Interceptors</a></li><li><a
shape="rect" href="parameters-interceptor.html">Excluding
Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect"
href="model-driven.html">Model Driven</a></li><li><a shape="rect"
href="action-chaining.html">Action Chaining</a></li><li><a shape="rect"
href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a
shape="rect" href="result-types.html">Result Types</a></li><li><a shape="rect"
href="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect"
href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a
shape="rect" href="validation.html">Validation</a></li><li>
<a shape="rect" href="localization.html">Localization</a><ul><li><a
shape="rect" href="formatting-dates-and-numbers.html">Formatting Dates and
Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type
Conversion</a></li><li><a shape="rect" href="static-content.html">Static
Content</a></li><li>Portlets<ul><li><a shape="rect"
href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect"
href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a
shape="rect" href="logging.html">Logging</a></li><li><a shape="rect"
href="faqs.html">FAQs</a><ul><li><a shape="rect"
href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a
shape="rect" href="cookbook.html">Cookbook</a></li></ul></li><li><a
shape="rect" class="external-link"
href="http://struts.apache.org/2.x/struts2-core/apidocs/index.html">Javadoc
APIs</a></li></ul></td></tr></tbody></table></div><h2
id="Guides-TagDevelopersGuidehttps://cwiki.apache.org/confluence/
pages/viewpage.action?pageId=14324"><a shape="rect"
href="tag-developers-guide.html">Tag Developers Guide</a></h2><p>The framework
offers a flexible view layer that supports multiple view technologies,
including JSP, FreeMaker, and Velocity.</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect" href="struts-tags.html">Struts
Tags</a><ul><li><a shape="rect" href="generic-tags.html">Generic
Tags</a></li><li><a shape="rect" href="ui-tags.html">UI Tags</a></li><li><a
shape="rect" href="themes-and-templates.html">Themes and
Templates</a></li><li><a shape="rect" href="tag-reference.html">Tag
Reference</a></li><li><a shape="rect" href="ajax-tags.html">Ajax
Tags</a><ul><li><a shape="rect" href="ajax-and-javascript-recipes.html">Ajax
and JavaScript Recipes</a></li></ul></li></ul></li><li><a shape="rect"
href="ognl.html">OGNL</a></li><li><a shape="rect" href="tag-syntax.html">Tag
Syntax</a></li><li><a shap
e="rect" href="alt-syntax.html">Alt Syntax</a></li></ul></td><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="jsp.html">JSP</a><ul><li><a shape="rect" href="jsp-tags.html">specific
tags</a></li></ul></li><li><a shape="rect"
href="freemarker.html">FreeMarker</a><ul><li><a shape="rect"
href="freemarker-tags.html">specific tags</a></li></ul></li><li><a shape="rect"
href="velocity.html">Velocity</a><ul><li><a shape="rect"
href="velocity-tags.html">specific
tags</a></li></ul></li></ul></td></tr></tbody></table></div><h2
id="Guides-PluginDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44163"><a
shape="rect" href="plugin-developers-guide.html">Plugin Developers
Guide</a></h2><p>Apache Struts 2 provides a simple <a shape="rect"
href="plugins.html">plugin architecture</a> so that developers can extend the
framework just by adding a JAR to the application's classpath. Since plugins
are contained in a JAR, they are easy to share wit
h others. Several plugins are bundled with the framework, and others are
available from third-party sources.</p><ul><li><a shape="rect"
href="plugins.html">Plugins</a></li><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li></ul><h3
id="Guides-BundledPlugins">Bundled Plugins</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect"
href="bean-validation-plugin.html">Bean Validation Plugin</a> (2.5+)</li><li><a
shape="rect" href="cdi-plugin.html">CDI (JSR 299) Plugin</a>
(2.3.1+)</li><li><a shape="rect" href="codebehind-plugin.html">Codebehind
Plugin</a> (<strong>< 2.5</strong>)</li><li><a shape="rect"
href="config-browser-plugin.html">Config Browser Plugin</a></li><li><a
shape="rect" href="convention-plugin.html">Convention Plugin</a>
(2.1.3+)</li><li><a shape="rect" href="dwr-plugin.html">DWR
Plugin</a></li><li><a shap
e="rect" href="embedded-jsp-plugin.html">Embedded JSP Plugin</a>
(2.1.7+)</li><li><a shape="rect" href="jasperreports-plugin.html">JasperReports
Plugin</a></li><li><a shape="rect" href="java-8-support-plugin.html">Java 8
Support Plugin</a> (2.3.21+)</li><li><a shape="rect"
href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a
shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a
shape="rect" href="jsf-plugin.html">JSF Plugin</a> <span>(</span><strong><
2.5</strong><span>)</span></li><li><a shape="rect" href="json-plugin.html">JSON
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="junit-plugin.html">JUnit
Plugin</a></li></ul></td><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect" href="oval-plugin.html">OVal
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="osgi-plugin.html">OSGi
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="plexus-plugin.html">Plexus
Plugin</a></li><li><a shape="rect" href="portlet-plugin.htm
l">Portlet Plugin</a></li><li><a shape="rect"
href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a
shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li><a
shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a
shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a
shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a
shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a>
<span>(</span><strong>< 2.5</strong><span>)</span></li><li><a shape="rect"
href="testng-plugin.html">TestNG Plugin</a></li><li><a shape="rect"
href="tiles-plugin.html">Tiles Plugin</a></li><li><a shape="rect"
href="tiles-3-plugin.html">Tiles 3 Plugin</a> <span>(</span><strong><
2.5</strong><span>)</span></li></ul></td></tr></tbody></table></div><p><img
class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For a complete list of bundled and
third-party plugins, visit the <a shape="rect" class="external-link"
href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin Registry.</a>.</p><h2
id="Guides-ArchitectsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=45478"><a
shape="rect" href="architects-guide.html">Architects Guide</a></h2><p>
+ <div id="ConfluenceContent"><p>Our in-depth guides focus on
specific areas of the framework, such as Views, the Core framework, and
Third-party Extensions.</p><div class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>We started work on a new <a
shape="rect" href="user-guide.html">User Guide</a>, that should simplify
learning process. Please feel free to contribute!</p></div></div><h2
id="Guides-CoreDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13945"><a
shape="rect" href="core-developers-guide.html">Core Developers
Guide</a></h2><p>Struts 2 processes requests using three core types: <a
shape="rect" href="interceptor-configuration.html">interceptors</a>, <a
shape="rect" href="action-configuration.html">actions</a>, and <a shape="rect"
href="result-configuration.html">re
sults</a>. Each may be configured via XML or annotations.</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="tutorials.html">Tutorials</a> - Read me first!</li><li>Developing
Applications with Struts 2<ul><li><a shape="rect"
href="nutshell.html">Nutshell</a></li><li><a shape="rect"
href="ajax.html">AJAX</a></li><li><a shape="rect"
href="dependency-injection.html">Dependency Injection</a></li><li><a
shape="rect" href="profiling.html">Profiling</a></li><li><a shape="rect"
href="debugging.html">Debugging</a></li><li><a shape="rect"
href="devmode.html">Development
Mode</a></li></ul></li><li>Configuration<ul><li><a shape="rect"
href="convention-plugin.html">Configuration by Convention</a></li><li><a
shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect"
href="configuration-elements.html">Configuration Elements</a><ul><li><a
shape="rect" href="action-configuration.html">A
ctions</a>, <a shape="rect" href="wildcard-mappings.html">Wildcard
Mappings</a>, <a shape="rect" href="bean-configuration.html">Beans</a>, <a
shape="rect" href="constant-configuration.html">Constants</a></li><li><a
shape="rect" href="exception-configuration.html">Exceptions</a>, <a
shape="rect" href="include-configuration.html">Includes</a>, <a shape="rect"
href="interceptor-configuration.html">Interceptors</a></li><li><a shape="rect"
href="namespace-configuration.html">Namespaces</a>, <a shape="rect"
href="package-configuration.html">Packages</a>, <a shape="rect"
href="result-configuration.html">Results</a></li><li><a shape="rect"
href="unknown-handlers.html">Unknown Handlers</a>, <a shape="rect"
href="dispatcher.html">Dispatcher</a></li></ul></li><li><a shape="rect"
href="configuration-files.html">Configuration Files</a><ul><li><a shape="rect"
href="webxml.html">web.xml</a></li><li><a shape="rect"
href="strutsxml.html">struts.xml</a></li><li><a shape="rect"
href="strutsproperties.
html">struts.properties</a></li><li><a shape="rect"
href="struts-defaultxml.html">struts-default.xml</a></li><li><a shape="rect"
href="velocityproperties.html">velocity.properties</a></li><li><a shape="rect"
href="struts-defaultvm.html">struts-default.vm</a></li></ul></li><li><a
shape="rect" href="application-servers.html">Application Servers</a></li><li><a
shape="rect" href="performance-tuning.html">Performance
Tuning</a></li></ul></li><li><img class="emoticon emoticon-light-on"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png"
data-emoticon-name="light-on" alt="(lightbulb)"><a shape="rect"
href="security.html">Security</a></li></ul></td><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect"
href="testing-actions.html">Testing Actions</a><ul><li><a shape="rect"
class="external-link"
href="https://depressedprogrammer.wordpress.com/2007/06/18/unit-testing-struts-2-actions-sprin
g-junit/" rel="nofollow">(arsenalist)</a></li><li><a shape="rect"
class="external-link"
href="http://fassisrosa.blogspot.com/2006/11/unit-testing-struts-20.html"
rel="nofollow">(rosa)</a></li></ul></li><li><a shape="rect"
href="interceptors.html">Interceptors</a><ul><li><a shape="rect"
href="writing-interceptors.html">Writing Interceptors</a></li><li><a
shape="rect" href="parameters-interceptor.html">Excluding
Parameters</a></li></ul></li><li>Actions<ul><li><a shape="rect"
href="model-driven.html">Model Driven</a></li><li><a shape="rect"
href="action-chaining.html">Action Chaining</a></li><li><a shape="rect"
href="actioneventlistener.html">ActionEventListener</a></li></ul></li><li>Results<ul><li><a
shape="rect" href="result-types.html">Result Types</a></li><li><a shape="rect"
href="dispatcherlistener.html">DispatcherListener</a></li><li><a shape="rect"
href="preresultlistener.html">PreResultListener</a></li></ul></li><li><a
shape="rect" href="validation.html">Validation</a></li><li>
<a shape="rect" href="localization.html">Localization</a><ul><li><a
shape="rect" href="formatting-dates-and-numbers.html">Formatting Dates and
Numbers</a></li></ul></li><li><a shape="rect" href="type-conversion.html">Type
Conversion</a></li><li><a shape="rect" href="static-content.html">Static
Content</a></li><li>Portlets<ul><li><a shape="rect"
href="struts-2-portlet-tutorial.html">Tutorial</a></li><li><a shape="rect"
href="portlet-plugin.html">Configuration/Documentation</a></li></ul></li><li><a
shape="rect" href="logging.html">Logging</a></li><li><a shape="rect"
href="faqs.html">FAQs</a><ul><li><a shape="rect"
href="struts-2-maven-archetypes.html">Struts 2 Maven Archetypes</a></li><li><a
shape="rect" href="cookbook.html">Cookbook</a></li></ul></li><li><a
shape="rect" class="external-link"
href="http://struts.apache.org/2.x/struts2-core/apidocs/index.html">Javadoc
APIs</a></li></ul></td></tr></tbody></table></div><h2
id="Guides-TagDevelopersGuidehttps://cwiki.apache.org/confluence/
pages/viewpage.action?pageId=14324"><a shape="rect"
href="tag-developers-guide.html">Tag Developers Guide</a></h2><p>The framework
offers a flexible view layer that supports multiple view technologies,
including JSP, FreeMaker, and Velocity.</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect" href="struts-tags.html">Struts
Tags</a><ul><li><a shape="rect" href="generic-tags.html">Generic
Tags</a></li><li><a shape="rect" href="ui-tags.html">UI Tags</a></li><li><a
shape="rect" href="themes-and-templates.html">Themes and
Templates</a></li><li><a shape="rect" href="tag-reference.html">Tag
Reference</a></li><li><a shape="rect" href="ajax-tags.html">Ajax
Tags</a><ul><li><a shape="rect" href="ajax-and-javascript-recipes.html">Ajax
and JavaScript Recipes</a></li></ul></li></ul></li><li><a shape="rect"
href="ognl.html">OGNL</a></li><li><a shape="rect" href="tag-syntax.html">Tag
Syntax</a></li><li><a shap
e="rect" href="alt-syntax.html">Alt Syntax</a></li></ul></td><td colspan="1"
rowspan="1" class="confluenceTd"><ul><li><a shape="rect"
href="jsp.html">JSP</a><ul><li><a shape="rect" href="jsp-tags.html">specific
tags</a></li></ul></li><li><a shape="rect"
href="freemarker.html">FreeMarker</a><ul><li><a shape="rect"
href="freemarker-tags.html">specific tags</a></li></ul></li><li><a shape="rect"
href="velocity.html">Velocity</a><ul><li><a shape="rect"
href="velocity-tags.html">specific
tags</a></li></ul></li></ul></td></tr></tbody></table></div><h2
id="Guides-PluginDevelopersGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44163"><a
shape="rect" href="plugin-developers-guide.html">Plugin Developers
Guide</a></h2><p>Apache Struts 2 provides a simple <a shape="rect"
href="plugins.html">plugin architecture</a> so that developers can extend the
framework just by adding a JAR to the application's classpath. Since plugins
are contained in a JAR, they are easy to share wit
h others. Several plugins are bundled with the framework, and others are
available from third-party sources.</p><ul><li><a shape="rect"
href="plugins.html">Plugins</a></li><li><a shape="rect"
href="extending-an-application-with-custom-plugins.html">Extending an
Application with Custom Plugins</a></li></ul><h3
id="Guides-BundledPlugins">Bundled Plugins</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect"
href="bean-validation-plugin.html">Bean Validation Plugin</a> (2.5+)</li><li><a
shape="rect" href="cdi-plugin.html">CDI (JSR 299) Plugin</a>
(2.3.1+)</li><li><a shape="rect" href="codebehind-plugin.html">Codebehind
Plugin</a> (<strong>< 2.5</strong>)</li><li><a shape="rect"
href="config-browser-plugin.html">Config Browser Plugin</a></li><li><a
shape="rect" href="convention-plugin.html">Convention Plugin</a>
(2.1.3+)</li><li><a shape="rect" href="dwr-plugin.html">DWR
Plugin</a></li><li><a shap
e="rect" href="embedded-jsp-plugin.html">Embedded JSP Plugin</a>
(2.1.7+)</li><li><a shape="rect" href="jasperreports-plugin.html">JasperReports
Plugin</a></li><li><a shape="rect" href="java-8-support-plugin.html">Java 8
Support Plugin</a> (2.3.21+)</li><li><a shape="rect"
href="javatemplates-plugin.html">Javatemplates Plugin</a> (2.1.3+)</li><li><a
shape="rect" href="jfreechart-plugin.html">JFreeChart Plugin</a></li><li><a
shape="rect" href="jsf-plugin.html">JSF Plugin</a> <span>(</span><strong><
2.5</strong><span>)</span></li><li><a shape="rect" href="json-plugin.html">JSON
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="junit-plugin.html">JUnit
Plugin</a></li></ul></td><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><a shape="rect" href="oval-plugin.html">OVal
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="osgi-plugin.html">OSGi
Plugin</a> (2.1.7+)</li><li><a shape="rect" href="plexus-plugin.html">Plexus
Plugin</a></li><li><a shape="rect" href="portlet-plugin.htm
l">Portlet Plugin</a></li><li><a shape="rect"
href="portlet-tiles-plugin.html">Portlet Tiles Plugin</a> (2.3.5+)</li><li><a
shape="rect" href="rest-plugin.html">REST Plugin</a> (2.1.1+)</li><li><a
shape="rect" href="sitegraph-plugin.html">SiteGraph Plugin</a></li><li><a
shape="rect" href="sitemesh-plugin.html">SiteMesh Plugin</a></li><li><a
shape="rect" href="spring-plugin.html">Spring Plugin</a></li><li><a
shape="rect" href="struts-1-plugin.html">Struts 1 Plugin</a>
<span>(</span><strong>< 2.5</strong><span>)</span></li><li><a shape="rect"
href="testng-plugin.html">TestNG Plugin</a></li><li><a shape="rect"
href="tiles-2-plugin.html">Tiles 2 Plugin</a></li><li><a shape="rect"
href="tiles-3-plugin.html">Tiles 3
Plugin</a></li></ul></td></tr></tbody></table></div><p><img class="emoticon
emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For a comp
lete list of bundled and third-party plugins, visit the <a shape="rect"
class="external-link" href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin
Registry.</a>.</p><h2
id="Guides-ArchitectsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=45478"><a
shape="rect" href="architects-guide.html">Architects Guide</a></h2><p>
</p><ul><li><a shape="rect" href="big-picture.html">Big Picture</a>
<ul><li><a shape="rect"
href="objectfactory.html">ObjectFactory</a></li><li><a shape="rect"
href="actionmapper.html">ActionMapper</a></li><li><a shape="rect"
href="action-proxy-actionproxy-factory.html">Action Proxy & ActionProxy
Factory</a></li><li><a shape="rect"
href="configuration-provider-configuration.html">Configuration Provider &
Configuration</a></li></ul>
</li></ul><h2
id="Guides-MigrationGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=13981"><a
shape="rect" href="migration-guide.html">Migration Guide</a></h2><p>Getting
here from there.</p><h3 id="Guides-VersionNotes2.5.x">Version Notes
2.5.x</h3><ul><li><a shape="rect" href="version-notes-25.html">Version Notes
2.5</a></li></ul><h3 id="Guides-VersionNotes2.3.x">Version Notes
2.3.x</h3><ul><li><a shape="rect" href="version-notes-23241.html">Version Notes
2.3.24.1</a></li><li><a shape="rect" href="version-notes-2324.html">Version
Notes 2.3.24</a></li><li><a shape="rect"
href="version-notes-23201.html">Version Notes 2.3.20.1</a></li><li><a
shape="rect" href="version-notes-2320.html">Version Notes 2.3.20</a></li><li><a
shape="rect" href="version-notes-23163.html">Version Notes
2.3.16.3</a></li><li><a shape="rect" href="version-notes-23162.html">Version
Notes 2.3.16.2</a></li><li><a shape="rect"
href="version-notes-2316.html">Version Notes 2.3.16.1</a></li><li><a s
hape="rect" href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a
shape="rect" href="version-notes-23153.html">Version Notes
2.3.15.3</a></li><li><a shape="rect" href="version-notes-23152.html">Version
Notes 2.3.15.2</a></li><li><a shape="rect"
href="version-notes-23151.html">Version Notes 2.3.15.1</a></li><li><a
shape="rect" href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a
shape="rect" href="version-notes-23143.html">Version Notes
2.3.14.3</a></li><li><a shape="rect" href="version-notes-23142.html">Version
Notes 2.3.14.2</a></li><li><a shape="rect"
href="version-notes-23141.html">Version Notes 2.3.14.1</a></li><li><a
shape="rect" href="version-notes-2314.html">Version Notes 2.3.14</a></li><li><a
shape="rect" href="version-notes-23120.html">Version Notes
2.3.12.0</a></li><li><a shape="rect" href="version-notes-238.html">Version
Notes 2.3.8</a></li><li><a shape="rect" href="version-notes-237.html">Version
Notes 2.3.7</a></li><li><a shape="rect" href="ve
rsion-notes-2341.html">Version Notes 2.3.4.1</a></li><li><a shape="rect"
href="version-notes-234.html">Version Notes 2.3.4</a></li><li><a shape="rect"
href="version-notes-233.html">Version Notes 2.3.3</a></li><li><a shape="rect"
href="version-notes-2312.html">Version Notes 2.3.1.2</a></li><li><a
shape="rect" href="version-notes-2311.html">Version Notes
2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version Notes
2.3.1</a></li></ul><h3 id="Guides-VersionNotes2.2.x">Version Notes
2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version Notes
2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version Notes
2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version Notes
2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version Notes
2.2.1</a></li></ul><h3 id="Guides-VersionNotes2.1.x">Version Notes
2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version Notes
2.1.8.1</a></li><li><a shape="r
ect" href="version-notes-218.html">Version Notes 2.1.8</a></li><li><a
shape="rect" href="version-notes-216.html">Version Notes 2.1.6</a></li><li><a
shape="rect" href="version-notes-215.html">Version Notes 2.1.5</a></li><li><a
shape="rect" href="version-notes-214.html">Version Notes 2.1.4</a></li><li><a
shape="rect" href="version-notes-213.html">Version Notes 2.1.3</a></li><li><a
shape="rect" href="version-notes-212.html">Version Notes 2.1.2</a></li><li><a
shape="rect" href="version-notes-211.html">Version Notes 2.1.1</a></li><li><a
shape="rect" href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3
id="Guides-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a shape="rect"
href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a shape="rect"
href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a shape="rect"
href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a shape="rect"
href="release-notes-20112.html">Release Notes 2.0.11.2</a></l
i><li><a shape="rect" href="release-notes-20111.html">Release Notes
2.0.11.1</a></li><li><a shape="rect" href="release-notes-2011.html">Release
Notes 2.0.11</a></li><li><a shape="rect" href="release-notes-2010.html">Release
Notes 2.0.10</a></li><li><a shape="rect" href="release-notes-209.html">Release
Notes 2.0.9</a></li><li><a shape="rect" href="release-notes-208.html">Release
Notes 2.0.8</a></li><li><a shape="rect" href="release-notes-207.html">Release
Notes 2.0.7</a></li><li><a shape="rect" href="release-notes-206.html">Release
Notes 2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release
Notes 2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release
Notes 2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release
Notes 2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release
Notes 2.0.2</a></li><li><a shape="rect" href="release-notes-201.html">Release
Notes 2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">
Release Notes 2.0.0</a></li></ul><h3 id="Guides-Struts1toStruts2">Struts 1 to
Struts 2</h3><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect"
href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2
alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" href="struts-1-solutions.html">Struts 1
Solutions</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Various issues (and hopefully their solutions!)
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-strategies.html">Migration Strategies</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies
for migrating Struts 1 applications to Struts 2.</p></td></tr><
tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1"
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration
process.</p></td></tr></tbody></table></div><h4
id="Guides-Tutorials">Tutorials</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://www.infoq.com/news/migrating-struts2" rel="nofollow">Migrating
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep
2006)</p></td></tr></tbody></table></div><h4
id="Guides-Roadmap">Roadmap</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://struts.apache.org/roadmap.html#new">Roadmap FAQ</a></p></th><td
colspan="1" rowsp
an="1" class="confluenceTd"><p>What's in store for Struts
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a
shape="rect" class="external-link"
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html"
rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Don Brown's summary of
events</p></td></tr></tbody></table></div><h3
id="Guides-Webwork2.2toStruts2">Webwork 2.2 to Struts 2</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="key-changes-from-webwork-2.html">Key Changes From WebWork
2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has been
removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="webwork-2-migration-strategies.html">WebWork 2 Migration
Strategies</a></p></th><td colspan="1" rowsp
an="1" class="confluenceTd"><p>Steps and overall strategies for migrating
WebWork 2 applications to Struts 2.</p></td></tr></tbody></table></div><h2
id="Guides-ContributorsGuidehttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=14041"><a
shape="rect" href="contributors-guide.html">Contributors Guide</a></h2><p>
Modified:
websites/production/struts/content/docs/how-do-we-configure-an-interceptor-to-be-used-with-every-action.html
==============================================================================
---
websites/production/struts/content/docs/how-do-we-configure-an-interceptor-to-be-used-with-every-action.html
(original)
+++
websites/production/struts/content/docs/how-do-we-configure-an-interceptor-to-be-used-with-every-action.html
Fri Mar 11 11:02:24 2016
@@ -138,49 +138,39 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent"><p>Any given action mapping can create
an "ad-hoc" interceptor stack</p>
+ <div id="ConfluenceContent"><p>Any given action mapping can create
an "ad-hoc" interceptor stack</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><action name="login" class="tutorial.Login">
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
- <action name="login" class="tutorial.Login">
-
- <interceptor-ref name="timer"/>
- <interceptor-ref name="logger"/>
- <interceptor-ref name="defaultStack"/>
+ <interceptor-ref name="timer"/>
+ <interceptor-ref name="logger"/>
+ <interceptor-ref name="defaultStack"/>
- <result name="input">login.jsp</result>
- <result type="redirectAction">/secure/home</result>
- </action>
-</pre>
-</div></div>
+ <result name="input">login.jsp</result>
+ <result type="redirectAction">/secure/home</result>
-<p>Or, we can create our own named stacks and even declare a new default
interceptor stack for a package</p>
+</action>
+</pre>
+</div></div><p>Or, we can create our own named stacks and even declare a new
default interceptor stack for a package</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><package name="default" extends="struts-default" >
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
-<package name="default" extends="struts-default" >
- <interceptors>
- <interceptor-stack name="myStack">
- <interceptor-ref name="timer"/>
- <interceptor-ref name="logger"/>
- <interceptor-ref name="defaultStack"/>
+ <interceptors>
+ <interceptor-stack name="myStack">
+ <interceptor-ref name="timer"/>
+ <interceptor-ref name="logger"/>
+ <interceptor-ref name="defaultStack"/>
</interceptor-stack>
- </interceptors>
+ </interceptors>
- <default-interceptor-ref name="myStack"/>
+ <default-interceptor-ref name="myStack"/>
- <action name="login" class="tutorial.Login">
+ <action name="login" class="tutorial.Login">
<result name="input">login.jsp</result>
<result type="redirectAction">/secure/home</result>
- </action>
+ </action>
</package>
</pre>
-</div></div>
-
-<p>Packages can extend other packages. If all the other packages in your
application extend "default", then they will all inherit the new default
interceptor.</p>
-
-<p><img class="emoticon emoticon-light-on"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png"
data-emoticon-name="light-on" alt="(lightbulb)"> See also <a shape="rect"
href="interceptors.html">Configuring Interceptors</a>, and the layout of the <a
shape="rect" href="struts-defaultxml.html">struts-default package</a>. The
struts-default package is automatically included into the base configuration.
Anything we do in the struts-default package, you can do in your own
packages.</p></div>
+</div></div><p>Packages can extend other packages. If all the other packages
in your application extend "default", then they will all inherit the new
default interceptor.</p><p><img class="emoticon emoticon-light-on"
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png"
data-emoticon-name="light-on" alt="(lightbulb)"> See also <a shape="rect"
href="interceptors.html">Configuring Interceptors</a>, and the layout of the <a
shape="rect" href="struts-defaultxml.html">struts-default package</a>. The
struts-default package is automatically included into the base configuration.
Anything we do in the struts-default package, you can do in your own
packages.</p></div>
</div>
Modified:
websites/production/struts/content/docs/how-to-build-the-portlet-war-for-a-specific-portal-server.html
==============================================================================
---
websites/production/struts/content/docs/how-to-build-the-portlet-war-for-a-specific-portal-server.html
(original)
+++
websites/production/struts/content/docs/how-to-build-the-portlet-war-for-a-specific-portal-server.html
Fri Mar 11 11:02:24 2016
@@ -146,7 +146,7 @@ under the License.
<ul><li>Use the <code>container</code> system property to target a specific
container, e.g. '-Dcontainer=exo'.
- <ul><li>Several containers are <a shape="rect" class="unresolved"
href="#">supported</a>.</li><li>Example command:
+ <ul><li>Several containers are <a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=Which%2Bportal%2Bservers%2Bare%2Bsupported&linkCreation=true&fromPageId=14159">supported</a>.</li><li>Example
command:
<ul><li><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
ant build-portlet \-Dcontainer=jboss-portal-2.2
Modified: websites/production/struts/content/docs/interceptors.html
==============================================================================
--- websites/production/struts/content/docs/interceptors.html (original)
+++ websites/production/struts/content/docs/interceptors.html Fri Mar 11
11:02:24 2016
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><div
class="confluence-information-macro confluence-information-macro-tip"><span
class="aui-icon aui-icon-small aui-iconfont-approve
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The default Interceptor stack is
designed to serve the needs of most applications. Most applications will
<strong>not</strong> need to add Interceptors or change the Interceptor
stack.</p></div></div><p>Many Actions share common concerns. Some Actions need
input validated. Other Actions may need a file upload to be pre-processed.
Another Action might need protection from a double submit. Many Actions need
drop-down lists and other controls pre-populated before the page
displays.</p><p>The framework makes it easy to share solutions to these
concerns using an "Interceptor" strategy. When you request a resource that maps
to an "action", the framework invokes the Action object. But, before the Action
is executed, the invocatio
n can be intercepted by another object. After the Action executes, the
invocation could be intercepted again. Unsurprisingly, we call these objects
"Interceptors."</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1456773217225 {padding: 0px;}
-div.rbtoc1456773217225 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1456773217225 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884069963 {padding: 0px;}
+div.rbtoc1453884069963 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884069963 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1456773217225">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884069963">
<ul class="toc-indentation"><li><a shape="rect"
href="#Interceptors-UnderstandingInterceptors">Understanding
Interceptors</a></li><li><a shape="rect"
href="#Interceptors-ConfiguringInterceptors">Configuring
Interceptors</a></li><li><a shape="rect"
href="#Interceptors-StackingInterceptors">Stacking Interceptors</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Interceptors-TheDefaultConfiguration">The Default
Configuration</a></li></ul>
</li><li><a shape="rect" href="#Interceptors-FrameworkInterceptors">Framework
Interceptors</a>
Modified: websites/production/struts/content/docs/json-plugin.html
==============================================================================
--- websites/production/struts/content/docs/json-plugin.html (original)
+++ websites/production/struts/content/docs/json-plugin.html Fri Mar 11
11:02:24 2016
@@ -218,7 +218,7 @@ under the License.
<param
name="wrapSuffix"><![CDATA[</textarea></body></html>]]></param>
</result>
</pre>
-</div></div><h3 id="JSONPlugin-WrapwithComments">Wrap with Comments</h3><div
class="confluence-information-macro confluence-information-macro-warning"><span
class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><em>wrapWithComments</em> is
deprecated from 0.34, use <em>wrapPrefix</em> and <em>wrapSuffix</em>
instead.</p></div></div><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><em>wrapWithComments</em> can turn
safe JSON text into dangerous text. For example,</p><p><a shape="rect"
class="unresolved" href="#">"*/ alert('XSS'); /*"</a></p><p>Thanks to Douglas
Crockford for the tip!. Consider using <strong>prefix</strong>
instead.</p></div></div><p>If the serialized JSON is <em>{name: 'El
Zorro'}</em>. Then the output wil
l be: <em>{}&& ({name: 'El Zorro'}</em></p><p>If the
"wrapWithComments" (false by default) attribute is set to true, the generated
JSON is wrapped with comments like:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="JSONPlugin-WrapwithComments">Wrap with Comments</h3><div
class="confluence-information-macro confluence-information-macro-warning"><span
class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><em>wrapWithComments</em> is
deprecated from 0.34, use <em>wrapPrefix</em> and <em>wrapSuffix</em>
instead.</p></div></div><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><em>wrapWithComments</em> can turn
safe JSON text into dangerous text. For example,</p><p><a shape="rect"
class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=%22*%2F+alert%28%27XSS%27%29%3B+%2F*%22&linkCreation=true&fromPageId=2850922">"*/
alert('XSS'); /*"</a></p><p>Thanks to Douglas
Crockford for the tip!. Consider using <strong>prefix</strong>
instead.</p></div></div><p>If the serialized JSON is <em>{name: 'El
Zorro'}</em>. Then the output will be: <em>{}&& ({name: 'El
Zorro'}</em></p><p>If the "wrapWithComments" (false by default) attribute is
set to true, the generated JSON is wrapped with comments like:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">/* {
"doubleVal": 10.10,
"nestedBean": {
Modified: websites/production/struts/content/docs/localization.html
==============================================================================
--- websites/production/struts/content/docs/localization.html (original)
+++ websites/production/struts/content/docs/localization.html Fri Mar 11
11:02:24 2016
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1456773287474 {padding: 0px;}
-div.rbtoc1456773287474 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1456773287474 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884138831 {padding: 0px;}
+div.rbtoc1453884138831 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1453884138831 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1456773287474">
+/*]]>*/</style></p><div class="toc-macro rbtoc1453884138831">
<ul class="toc-indentation"><li><a shape="rect"
href="#Localization-Overview">Overview</a></li><li><a shape="rect"
href="#Localization-ResourceBundleSearchOrder">Resource Bundle Search Order</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Localization-Defaultaction'sclass">Default action's class</a></li><li><a
shape="rect" href="#Localization-UsinggetTextfromaTag">Using getText from a
Tag</a></li><li><a shape="rect" href="#Localization-Usingthetexttag">Using the
text tag</a></li><li><a shape="rect" href="#Localization-UsingtheI18ntag">Using
the I18n tag</a></li><li><a shape="rect"
href="#Localization-UsingtheKeyattributeofUITags">Using the Key attribute of UI
Tags</a></li></ul>
</li><li><a shape="rect" href="#Localization-I18nInterceptor">I18n
Interceptor</a></li><li><a shape="rect"
href="#Localization-GlobalResources(struts.custom.i18n.resources)instruts.properties">Global
Resources (struts.custom.i18n.resources) in struts.properties</a></li><li><a
shape="rect" href="#Localization-FormattingDatesandNumbers">Formatting Dates
and Numbers</a></li><li><a shape="rect"
href="#Localization-ComparisonwithStruts1">Comparison with Struts
1</a></li><li><a shape="rect" href="#Localization-Next:">Next: Type
Conversion</a></li></ul>
Modified: websites/production/struts/content/docs/message-store-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/message-store-interceptor.html
(original)
+++ websites/production/struts/content/docs/message-store-interceptor.html Fri
Mar 11 11:02:24 2016
@@ -138,7 +138,7 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent"><p>An interceptor to store a <a
shape="rect" class="unresolved" href="#">ValidationAware</a> action's
messages / errors and field errors into HTTP Session, such that it will be
retrievable at a later stage. This allows the action's message / errors
and field errors to be available longer that just the particular HTTP
request.</p><p>If no session exists, nothing will be stored and can be
retrieved later. In other terms, the application is responsible to open
the session.</p><p>In the <strong>STORE</strong> mode, the interceptor
will store the <a shape="rect" class="unresolved"
href="#">ValidationAware</a> action's message / errors and field
errors into HTTP session.</p><p>In the <strong>RETRIEVE</strong> mode, the
interceptor will retrieve the stored action's message / errors and
field errors and put them back into the <a shape="rect" class="unresolved"
href="#">ValidationAware</a> action.</p><p
>In the <strong>AUTOMATIC</strong> mode, the interceptor will always
>retrieve the stored action's message / errors and field errors and put
>them back into the [ValidationAware] action, and after Action
>execution, if the <a shape="rect" class="unresolved"
>href="#">Result</a> is an instance of <a shape="rect" class="unresolved"
>href="#">ServletRedirectResult</a>, the action's message / errors and
>field errors into automatically be stored in the HTTP session..</p><p>The
>interceptor does nothing in the <strong>NONE</strong> mode, which is the
>default.</p><p>The operation mode could be switched
>using:</p><ol><li><p>Setting the interceptor parameter eg.</p><div
>class="code panel pdl" style="border-width: 1px;"><div class="codeContent
>panelContent pdl">
+ <div id="ConfluenceContent"><p>An interceptor to store a <a
shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ValidationAware&linkCreation=true&fromPageId=19580">ValidationAware</a> action's
messages / errors and field errors into HTTP Session, such that it will
be retrievable at a later stage. This allows the action's message / errors
and field errors to be available longer that just the particular HTTP
request.</p><p>If no session exists, nothing will be stored and can be
retrieved later. In other terms, the application is responsible to open
the session.</p><p>In the <strong>STORE</strong> mode, the interceptor
will store the <a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ValidationAware&linkCreation=true&fromPageId=19580">ValidationAware</a> action's
message / errors and fi
eld errors into HTTP session.</p><p>In the
<strong>RETRIEVE</strong> mode, the interceptor will retrieve the stored
action's message / errors and field errors and put them back into the <a
shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ValidationAware&linkCreation=true&fromPageId=19580">ValidationAware</a> action.</p><p>In
the <strong>AUTOMATIC</strong> mode, the interceptor will always retrieve
the stored action's message / errors and field errors and put them back
into the [ValidationAware] action, and after Action execution, if the <a
shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=Result&linkCreation=true&fromPageId=19580">Result</a> is
an instance of <a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ServletRedirec
tResult&linkCreation=true&fromPageId=19580">ServletRedirectResult</a>,
the action's message / errors and field errors into automatically be
stored in the HTTP session..</p><p>The interceptor does nothing in the
<strong>NONE</strong> mode, which is the default.</p><p>The operation mode
could be switched using:</p><ol><li><p>Setting the interceptor parameter
eg.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<pre class="brush: xml; gutter: false; theme: Default"
style="font-size:12px;"><action name="submitApplication" ...>
<interceptor-ref name="store"/>
<param name="operationMode">STORE</param>
Modified: websites/production/struts/content/docs/migration-guide.html
==============================================================================
--- websites/production/struts/content/docs/migration-guide.html (original)
+++ websites/production/struts/content/docs/migration-guide.html Fri Mar 11
11:02:24 2016
@@ -125,7 +125,7 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
- <div id="ConfluenceContent"><p>Getting here from there.</p><h3
id="MigrationGuide-VersionNotes2.5.x">Version Notes 2.5.x</h3><ul><li><a
shape="rect" href="version-notes-25.html">Version Notes 2.5</a></li></ul><h3
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><a
shape="rect" href="version-notes-23241.html">Version Notes
2.3.24.1</a></li><li><a shape="rect" href="version-notes-2324.html">Version
Notes 2.3.24</a></li><li><a shape="rect"
href="version-notes-23201.html">Version Notes 2.3.20.1</a></li><li><a
shape="rect" href="version-notes-2320.html">Version Notes 2.3.20</a></li><li><a
shape="rect" href="version-notes-23163.html">Version Notes
2.3.16.3</a></li><li><a shape="rect" href="version-notes-23162.html">Version
Notes 2.3.16.2</a></li><li><a shape="rect"
href="version-notes-2316.html">Version Notes 2.3.16.1</a></li><li><a
shape="rect" href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a
shape="rect" href="version-notes-23153.html">
Version Notes 2.3.15.3</a></li><li><a shape="rect"
href="version-notes-23152.html">Version Notes 2.3.15.2</a></li><li><a
shape="rect" href="version-notes-23151.html">Version Notes
2.3.15.1</a></li><li><a shape="rect" href="version-notes-2315.html">Version
Notes 2.3.15</a></li><li><a shape="rect"
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a
shape="rect" href="version-notes-23142.html">Version Notes
2.3.14.2</a></li><li><a shape="rect" href="version-notes-23141.html">Version
Notes 2.3.14.1</a></li><li><a shape="rect"
href="version-notes-2314.html">Version Notes 2.3.14</a></li><li><a shape="rect"
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a
shape="rect" href="version-notes-2341.html">Version Notes
2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes
2.3.4</
a></li><li><a shape="rect" href="version-notes-233.html">Version Notes
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version
Notes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version
Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.h
tml">Version Notes 2.1.6</a></li><li><a shape="rect"
href="version-notes-215.html">Version Notes 2.1.5</a></li><li><a shape="rect"
href="version-notes-214.html">Version Notes 2.1.4</a></li><li><a shape="rect"
href="version-notes-213.html">Version Notes 2.1.3</a></li><li><a shape="rect"
href="version-notes-212.html">Version Notes 2.1.2</a></li><li><a shape="rect"
href="version-notes-211.html">Version Notes 2.1.1</a></li><li><a shape="rect"
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a
shape="rect" href="release-notes-20112.html">Release Notes
2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release
Notes 2.0.11.1</a></li><li><a shape="r
ect" href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a
shape="rect" href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a
shape="rect" href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a
shape="rect" href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a
shape="rect" href="release-notes-207.html">Release Notes 2.0.7</a></li><li><a
shape="rect" href="release-notes-206.html">Release Notes 2.0.6</a></li><li><a
shape="rect" href="release-notes-205.html">Release Notes 2.0.5</a></li><li><a
shape="rect" href="release-notes-204.html">Release Notes 2.0.4</a></li><li><a
shape="rect" href="release-notes-203.html">Release Notes 2.0.3</a></li><li><a
shape="rect" href="release-notes-202.html">Release Notes 2.0.2</a></li><li><a
shape="rect" href="release-notes-201.html">Release Notes 2.0.1</a></li><li><a
shape="rect" href="release-notes-200.html">Release Notes 2.0.0</a></li></ul><h3
id="MigrationGuide-Struts1toStruts2">Struts 1 to Struts 2</h3><
div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2
alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" href="struts-1-solutions.html">Struts 1
Solutions</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Various issues (and hopefully their solutions!)
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-strategies.html">Migration Strategies</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-tools
.html">Migration Tools</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Development tools to help aid the migration
process.</p></td></tr></tbody></table></div><h4
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://www.infoq.com/news/migrating-struts2" rel="nofollow">Migrating
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep
2006)</p></td></tr></tbody></table></div><h4
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://struts.apache.org/roadmap.html#new">Roadmap FAQ</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts
2?</p></td></tr><t
r><th colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
class="external-link"
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html"
rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Don Brown's summary of
events</p></td></tr></tbody></table></div><h3
id="MigrationGuide-Webwork2.2toStruts2">Webwork 2.2 to Struts 2</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="key-changes-from-webwork-2.html">Key Changes From WebWork
2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has been
removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="webwork-2-migration-strategies.html">WebWork 2 Migration
Strategies</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Steps and overall strategies for migr
ating WebWork 2 applications to Struts
2.</p></td></tr></tbody></table></div><h2
id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect"
href="where-do-we-get-the-latest-version-the-framework.html">Where do we get
the latest version the framework</a>?</li><li><a shape="rect"
href="what-are-some-of-the-frameworks-best-features.html">What are some of the
framework's best features</a>?</li><li><a shape="rect"
href="what-is-the-actioncontext.html">What is the
ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a shape="rect"
href="contributors-guide.html">Contributors Guide</a></h2></div>
+ <div id="ConfluenceContent"><p>Getting here from there.</p><h3
id="MigrationGuide-VersionNotes2.5.x">Version Notes 2.5.x</h3><ul><li><a
shape="rect" href="version-notes-25.html">Version Notes 2.5</a></li></ul><h3
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><a
shape="rect" href="version-notes-2325.html">Version Notes 2.3.25</a></li><li><a
shape="rect" href="version-notes-23241.html">Version Notes
2.3.24.1</a></li><li><a shape="rect" href="version-notes-2324.html">Version
Notes 2.3.24</a></li><li><a shape="rect"
href="version-notes-23201.html">Version Notes 2.3.20.1</a></li><li><a
shape="rect" href="version-notes-2320.html">Version Notes 2.3.20</a></li><li><a
shape="rect" href="version-notes-23163.html">Version Notes
2.3.16.3</a></li><li><a shape="rect" href="version-notes-23162.html">Version
Notes 2.3.16.2</a></li><li><a shape="rect"
href="version-notes-2316.html">Version Notes 2.3.16.1</a></li><li><a
shape="rect" href="version-notes-2316.html">V
ersion Notes 2.3.16</a></li><li><a shape="rect"
href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a
shape="rect" href="version-notes-23152.html">Version Notes
2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version
Notes 2.3.15.1</a></li><li><a shape="rect"
href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect"
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a
shape="rect" href="version-notes-23142.html">Version Notes
2.3.14.2</a></li><li><a shape="rect" href="version-notes-23141.html">Version
Notes 2.3.14.1</a></li><li><a shape="rect"
href="version-notes-2314.html">Version Notes 2.3.14</a></li><li><a shape="rect"
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a
shape="rect" href="version-notes-2341.html">Version Notes 2.3.4.1
</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes
2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version
Notes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218
.html">Version Notes 2.1.8</a></li><li><a shape="rect"
href="version-notes-216.html">Version Notes 2.1.6</a></li><li><a shape="rect"
href="version-notes-215.html">Version Notes 2.1.5</a></li><li><a shape="rect"
href="version-notes-214.html">Version Notes 2.1.4</a></li><li><a shape="rect"
href="version-notes-213.html">Version Notes 2.1.3</a></li><li><a shape="rect"
href="version-notes-212.html">Version Notes 2.1.2</a></li><li><a shape="rect"
href="version-notes-211.html">Version Notes 2.1.1</a></li><li><a shape="rect"
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a
shape="rect" href="release-notes-20112.html">Release Notes
2.0.11.2</a></li><li><a shape="rect
" href="release-notes-20111.html">Release Notes 2.0.11.1</a></li><li><a
shape="rect" href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a
shape="rect" href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a
shape="rect" href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a
shape="rect" href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a
shape="rect" href="release-notes-207.html">Release Notes 2.0.7</a></li><li><a
shape="rect" href="release-notes-206.html">Release Notes 2.0.6</a></li><li><a
shape="rect" href="release-notes-205.html">Release Notes 2.0.5</a></li><li><a
shape="rect" href="release-notes-204.html">Release Notes 2.0.4</a></li><li><a
shape="rect" href="release-notes-203.html">Release Notes 2.0.3</a></li><li><a
shape="rect" href="release-notes-202.html">Release Notes 2.0.2</a></li><li><a
shape="rect" href="release-notes-201.html">Release Notes 2.0.1</a></li><li><a
shape="rect" href="release-notes-200.html">Release Notes 2.0.0<
/a></li></ul><h3 id="MigrationGuide-Struts1toStruts2">Struts 1 to Struts
2</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2
alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" href="struts-1-solutions.html">Struts 1
Solutions</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Various issues (and hopefully their solutions!)
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-strategies.html">Migration Strategies</a></p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th colsp
an="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1"
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration
process.</p></td></tr></tbody></table></div><h4
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://www.infoq.com/news/migrating-struts2" rel="nofollow">Migrating
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep
2006)</p></td></tr></tbody></table></div><h4
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p><a shape="rect" class="external-link"
href="http://struts.apache.org/roadmap.html#new">Roadmap FAQ</a></p></th><td
colspan="1" r
owspan="1" class="confluenceTd"><p>What's in store for Struts
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a
shape="rect" class="external-link"
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html"
rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p>Don Brown's summary of
events</p></td></tr></tbody></table></div><h3
id="MigrationGuide-Webwork2.2toStruts2">Webwork 2.2 to Struts 2</h3><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p><a shape="rect"
href="key-changes-from-webwork-2.html">Key Changes From WebWork
2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has been
removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect"
href="webwork-2-migration-strategies.html">WebWork 2 Migration
Strategies</a></p></th><td colsp
an="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies for
migrating WebWork 2 applications to Struts
2.</p></td></tr></tbody></table></div><h2
id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect"
href="where-do-we-get-the-latest-version-the-framework.html">Where do we get
the latest version the framework</a>?</li><li><a shape="rect"
href="what-are-some-of-the-frameworks-best-features.html">What are some of the
framework's best features</a>?</li><li><a shape="rect"
href="what-is-the-actioncontext.html">What is the
ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a shape="rect"
href="contributors-guide.html">Contributors Guide</a></h2></div>
</div>
<div class="tabletitle">
@@ -140,6 +140,9 @@ under the License.
<span class="smalltext">(Apache Struts 2
Documentation)</span>
<br>
$page.link($child)
+ <span class="smalltext">(Apache Struts 2
Documentation)</span>
+ <br>
+ $page.link($child)
<span class="smalltext">(Apache Struts 2
Documentation)</span>
<br>
$page.link($child)
Modified: websites/production/struts/content/docs/objectfactory.html
==============================================================================
--- websites/production/struts/content/docs/objectfactory.html (original)
+++ websites/production/struts/content/docs/objectfactory.html Fri Mar 11
11:02:24 2016
@@ -146,7 +146,7 @@ under the License.
.....
}
</pre>
-</div></div><h3 id="ObjectFactory-Definededicatedfactory">Define dedicated
factory</h3><p>If you want to just extend one part of ObjectFactory, ie. to
change how <a shape="rect" href="result-types.html">Result Types</a> are build,
you can implement <code>ResultFactory</code> interface and register it with
dedicated name, see <a shape="rect" href="plugins.html">Extension Points</a>
for more details. Original ObjectFactory will use these dedicated factories to
do the work. It's already done this way - the original functionality of
ObjectFactory was extracted to separated classes which implements the
interfaces below. Check the source of ObjectFactory to see more details. All
these factories are available as from version 2.3.16.</p><p>List of Factory
interfaces:</p><ul class="alternate"><li><code>ResultFactory</code> - dedicated
interfaces used by <a shape="rect" href="objectfactory.html">ObjectFactory</a>
to create <a shape="rect" href="result-types.html">Result Types</a><ul class="al
ternate"><li><code>StrutsResultFactory</code> it's internal implementation
which checks if Result implements <code>ParamNameAwareResult</code> interface
to restrict names of parameters set on the instance of Result, see <a
shape="rect" href="result-types.html">Result Types</a> for more
info.</li></ul></li><li><code>ActionFactory</code> - dedicated interface used
by <a shape="rect" href="objectfactory.html">ObjectFactory</a> to
actions</li><li><code>InterceptorFactory</code> - dedicated interface used by
<a shape="rect" href="objectfactory.html">ObjectFactory</a> to create
interceptors</li><li><code>ValidatorFactory</code> - dedicated interface used
by <a shape="rect" href="objectfactory.html">ObjectFactory</a> to create
validators</li><li><code>ConverterFactory</code> - dedicated interface used by
<a shape="rect" href="objectfactory.html">ObjectFactory</a> to create instances
of <a shape="rect" class="unresolved"
href="#">TypeConverter</a></li><li><code>UnknownHandlerFactory</code>
- dedicated interfaces used by <a shape="rect"
href="objectfactory.html">ObjectFactory</a> to create instances of <a
shape="rect" href="unknown-handlers.html">Unknown Handlers</a> (as from
version 2.3.18)</li></ul><h2 id="ObjectFactory-Next:">Next: <a shape="rect"
href="actionmapper.html">ActionMapper</a></h2></div>
+</div></div><h3 id="ObjectFactory-Definededicatedfactory">Define dedicated
factory</h3><p>If you want to just extend one part of ObjectFactory, ie. to
change how <a shape="rect" href="result-types.html">Result Types</a> are build,
you can implement <code>ResultFactory</code> interface and register it with
dedicated name, see <a shape="rect" href="plugins.html">Extension Points</a>
for more details. Original ObjectFactory will use these dedicated factories to
do the work. It's already done this way - the original functionality of
ObjectFactory was extracted to separated classes which implements the
interfaces below. Check the source of ObjectFactory to see more details. All
these factories are available as from version 2.3.16.</p><p>List of Factory
interfaces:</p><ul class="alternate"><li><code>ResultFactory</code> - dedicated
interfaces used by <a shape="rect" href="objectfactory.html">ObjectFactory</a>
to create <a shape="rect" href="result-types.html">Result Types</a><ul class="al
ternate"><li><code>StrutsResultFactory</code> it's internal implementation
which checks if Result implements <code>ParamNameAwareResult</code> interface
to restrict names of parameters set on the instance of Result, see <a
shape="rect" href="result-types.html">Result Types</a> for more
info.</li></ul></li><li><code>ActionFactory</code> - dedicated interface used
by <a shape="rect" href="objectfactory.html">ObjectFactory</a> to
actions</li><li><code>InterceptorFactory</code> - dedicated interface used by
<a shape="rect" href="objectfactory.html">ObjectFactory</a> to create
interceptors</li><li><code>ValidatorFactory</code> - dedicated interface used
by <a shape="rect" href="objectfactory.html">ObjectFactory</a> to create
validators</li><li><code>ConverterFactory</code> - dedicated interface used by
<a shape="rect" href="objectfactory.html">ObjectFactory</a> to create instances
of <a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spac
eKey=WW&title=TypeConverter&linkCreation=true&fromPageId=27470">TypeConverter</a></li><li><code>UnknownHandlerFactory</code>
- dedicated interfaces used by <a shape="rect"
href="objectfactory.html">ObjectFactory</a> to create instances of <a
shape="rect" href="unknown-handlers.html">Unknown Handlers</a> (as from
version 2.3.18)</li></ul><h2 id="ObjectFactory-Next:">Next: <a shape="rect"
href="actionmapper.html">ActionMapper</a></h2></div>
</div>
Modified: websites/production/struts/content/docs/obtain-response.html
==============================================================================
--- websites/production/struts/content/docs/obtain-response.html (original)
+++ websites/production/struts/content/docs/obtain-response.html Fri Mar 11
11:02:24 2016
@@ -146,7 +146,7 @@ under the License.
<h2 id="ObtainResponse-MainSuccessScenario(MSS)">Main Success Scenario
(MSS)</h2>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> Step </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> Action </p></th></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p> 1 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> Client submits request to web server.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 2
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Web server
transfers request to container, and container transfers request to framework's
dispatcher. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 3 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> Dispatcher consults the <a shape="rect"
class="unresolved" href="#">mappings</a> to select the appropriate <a
shape="rect" href="execute-action.html">action</a> and creates a <a
shape="rect" class="unresolved" href="#">context</a> for the request. </p></td><
/tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 4 </p></th><td
colspan="1" rowspan="1" class="confluenceTd"><p> Dispatcher creates and invokes
a <a shape="rect" class="unresolved" href="#">proxy</a> to execute the action
and its <a shape="rect" href="interceptors.html">interceptors</a>.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 5
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> The proxy manages
the action pre-process, the procedess, and the post-process.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 6
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> The invocation
calls each interceptor in turn before executing the action.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 7
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Each interceptor
affects the request as appropriate. </p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p> 8 </p></th><t
d colspan="1" rowspan="1" class="confluenceTd"><p> The action handles the
transaction corresponding to the request. </p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p> 9 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> The action returns a code indicating the appropriate
<a shape="rect" class="unresolved" href="#">result</a>. </p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> 0 </p></th><td colspan="1"
rowspan="1" class="confluenceTd"><p> The invocation executes the result.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> A
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> The result
generates the response or transfers to a resource that will render the
response. </p></td></tr></tbody></table></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> Step </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> Action </p></th></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p> 1 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> Client submits request to web server.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 2
</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p> Web server
transfers request to container, and container transfers request to framework's
dispatcher. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 3 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> Dispatcher consults the <a shape="rect"
class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=mappings&linkCreation=true&fromPageId=29365">mappings</a>
to select the appropriate <a shape="rect" hre
f="execute-action.html">action</a> and creates a <a shape="rect"
class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=context&linkCreation=true&fromPageId=29365">context</a>
for the request. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 4 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> Dispatcher creates and invokes a <a shape="rect"
class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=proxy&linkCreation=true&fromPageId=29365">proxy</a>
to execute the action and its <a shape="rect"
href="interceptors.html">interceptors</a>. </p></td></tr><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p> 5 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> The proxy manages the action pre-process, the
procedess, and the post-process. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 6 </p></th><td cols
pan="1" rowspan="1" class="confluenceTd"><p> The invocation calls each
interceptor in turn before executing the action. </p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> 7 </p></th><td colspan="1"
rowspan="1" class="confluenceTd"><p> Each interceptor affects the request as
appropriate. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 8 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> The action handles the transaction corresponding to
the request. </p></td></tr><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> 9 </p></th><td colspan="1" rowspan="1"
class="confluenceTd"><p> The action returns a code indicating the appropriate
<a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=result&linkCreation=true&fromPageId=29365">result</a>.
</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> 0
</p></th><td colspan="1" rowspan="1" class
="confluenceTd"><p> The invocation executes the result. </p></td></tr><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> A </p></th><td colspan="1"
rowspan="1" class="confluenceTd"><p> The result generates the response or
transfers to a resource that will render the response.
</p></td></tr></tbody></table></div>
<h2 id="ObtainResponse-Extensions">Extensions</h2>
Modified: websites/production/struts/content/docs/ognl-basics.html
==============================================================================
--- websites/production/struts/content/docs/ognl-basics.html (original)
+++ websites/production/struts/content/docs/ognl-basics.html Fri Mar 11
11:02:24 2016
@@ -152,7 +152,7 @@ name // call to animal.getName() b
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">[0].name // call to animal.getName()
[1].name // call to person.getName()
</pre>
-</div></div><p>With expression like [0] ... [3] etc. Struts 2 will cut the
stack and still return back a CompoundRoot object. To get the top of that
particular stack cut, use <a shape="rect" class="unresolved"
href="#">0</a>.top</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>ognl expression</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>[0].top</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>would get the top of the stack cut starting from
element 0 in the stack (similar to top in this case)</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>[1].top</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>would get the top of the stack cut starting
from element 1 in the stack</p></td></tr></tbody></table></div><h2
id="OGNLBasics-Accessingstaticproperties">Accessing static properties</h
2><p>OGNL supports accessing static properties as well as static
methods.</p><p>By default, Struts 2 is configured to disallow this--to enable
OGNL's static member support you must set the
<code>struts.ognl.allowStaticMethodAccess</code> constant to <code>true</code>
via any of the <a shape="rect" href="constant-configuration.html">Constant
Configuration</a> methods.</p><p>OGNL's static access looks like this:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><p>With expression like [0] ... [3] etc. Struts 2 will cut the
stack and still return back a CompoundRoot object. To get the top of that
particular stack cut, use <a shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=0&linkCreation=true&fromPageId=14000">0</a>.top</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>ognl expression</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>[0].top</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>would get the top of the stack cut starting
from element 0 in the stack (similar to top in this case)</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>[1].top</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>would get the top of the stack cut starting
from element 1
in the stack</p></td></tr></tbody></table></div><h2
id="OGNLBasics-Accessingstaticproperties">Accessing static
properties</h2><p>OGNL supports accessing static properties as well as static
methods.</p><p>By default, Struts 2 is configured to disallow this--to enable
OGNL's static member support you must set the
<code>struts.ognl.allowStaticMethodAccess</code> constant to <code>true</code>
via any of the <a shape="rect" href="constant-configuration.html">Constant
Configuration</a> methods.</p><p>OGNL's static access looks like this:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<pre class="brush: text; gutter: false; theme: Default"
style="font-size:12px;">@some.package.ClassName@FOO_PROPERTY
@some.package.ClassName@someMethod()
</pre>
Modified: websites/production/struts/content/docs/one-time-steps.html
==============================================================================
--- websites/production/struts/content/docs/one-time-steps.html (original)
+++ websites/production/struts/content/docs/one-time-steps.html Fri Mar 11
11:02:24 2016
@@ -140,11 +140,11 @@ under the License.
<div class="wiki-content">
<div id="ConfluenceContent"><h1
id="Onetimesteps-Content">Content</h1>
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1456773754359 {padding: 0px;}
-div.rbtoc1456773754359 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1456773754359 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1453884610727 {padding: 0px;}
+div.rbtoc1453884610727 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1453884610727 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1456773754359">
+/*]]>*/</style><div class="toc-macro rbtoc1453884610727">
<ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a
shape="rect" href="#Onetimesteps-Content">Content</a>
<ul class="toc-indentation"><li><span class="TOCOutline">1.1</span> <a
shape="rect" href="#Onetimesteps-Keysandconfiguration">Keys and
configuration</a>
<ul class="toc-indentation"><li><span class="TOCOutline">1.1.1</span> <a
shape="rect" href="#Onetimesteps-CreateandinstallaSSHkey">Create and install a
SSH key</a></li><li><span class="TOCOutline">1.1.2</span> <a shape="rect"
href="#Onetimesteps-CreateaPGPkey">Create a PGP key</a></li><li><span
class="TOCOutline">1.1.3</span> <a shape="rect"
href="#Onetimesteps-UpdateMavensettingsforourservers">Update Maven settings for
our servers</a></li><li><span class="TOCOutline">1.1.4</span> <a shape="rect"
href="#Onetimesteps-IncreaseMemorySettingsforMaven">Increase Memory Settings
for Maven</a></li></ul>
Modified: websites/production/struts/content/docs/portlet-tiles-plugin.html
==============================================================================
--- websites/production/struts/content/docs/portlet-tiles-plugin.html (original)
+++ websites/production/struts/content/docs/portlet-tiles-plugin.html Fri Mar
11 11:02:24 2016
@@ -157,7 +157,7 @@ under the License.
<version>${struts2.version}</version>
</dependency>
</pre>
-</div></div></li><li>All package definitions which require tiles support must
either extend the struts-portlet-tiles-default package or must register the <a
shape="rect" class="unresolved" href="#">Tiles Result</a> type definition
dedicated for Portlets.
+</div></div></li><li>All package definitions which require tiles support must
either extend the struts-portlet-tiles-default package or must register the <a
shape="rect" class="createlink"
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=Tiles+Result&linkCreation=true&fromPageId=30150178">Tiles
Result</a> type definition dedicated for Portlets.
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default"
style="font-size:12px;">
<result-types>