Author: lukaszlenart
Date: Fri Apr 3 05:49:56 2015
New Revision: 946159
Log:
Updates production
Added:
websites/production/struts/content/docs/version-notes-2323.html
Modified:
websites/production/struts/content/docs/actionmapper.html
websites/production/struts/content/docs/building-struts-2-normal-release.html
websites/production/struts/content/docs/file-upload.html
websites/production/struts/content/docs/interceptors.html
websites/production/struts/content/docs/localization.html
websites/production/struts/content/docs/migration-guide.html
websites/production/struts/content/docs/plugins.html
websites/production/struts/content/docs/struts-defaultxml.html
websites/production/struts/content/docs/type-conversion.html
websites/production/struts/content/docs/validation.html
Modified: websites/production/struts/content/docs/actionmapper.html
==============================================================================
--- websites/production/struts/content/docs/actionmapper.html (original)
+++ websites/production/struts/content/docs/actionmapper.html Fri Apr 3
05:49:56 2015
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><style type="text/css">/*<![CDATA[*/
-div.rbtoc1422602092323 {padding: 0px;}
-div.rbtoc1422602092323 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1422602092323 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039176917 {padding: 0px;}
+div.rbtoc1428039176917 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1428039176917 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1422602092323">
+/*]]>*/</style><div class="toc-macro rbtoc1428039176917">
<ul class="toc-indentation"><li><a shape="rect"
href="#ActionMapper-Description">Description</a></li><li><a shape="rect"
href="#ActionMapper-DefaultActionMapper">DefaultActionMapper</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#ActionMapper-Methodprefix">Method prefix</a></li><li><a shape="rect"
href="#ActionMapper-Actionprefix">Action prefix</a></li></ul>
</li><li><a shape="rect" href="#ActionMapper-CustomActionMapper">Custom
ActionMapper</a></li><li><a shape="rect"
href="#ActionMapper-CompositeActionMapper">CompositeActionMapper</a></li><li><a
shape="rect"
href="#ActionMapper-PrefixBasedActionMapper">PrefixBasedActionMapper</a></li><li><a
shape="rect"
href="#ActionMapper-ActionMapperandActionMappingobjects">ActionMapper and
ActionMapping objects</a>
Modified:
websites/production/struts/content/docs/building-struts-2-normal-release.html
==============================================================================
---
websites/production/struts/content/docs/building-struts-2-normal-release.html
(original)
+++
websites/production/struts/content/docs/building-struts-2-normal-release.html
Fri Apr 3 05:49:56 2015
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><h1
id="BuildingStruts2-Normalrelease-Content">Content</h1><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1422602474428 {padding: 0px;}
-div.rbtoc1422602474428 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1422602474428 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039328366 {padding: 0px;}
+div.rbtoc1428039328366 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1428039328366 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1422602474428">
+/*]]>*/</style></p><div class="toc-macro rbtoc1428039328366">
<ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a
shape="rect" href="#BuildingStruts2-Normalrelease-Gettingready">Getting
ready</a></li><li><span class="TOCOutline">2</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft
Docs when needed</a></li><li><span class="TOCOutline">3</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Besureyourlocalcopyisup-to-date">Be sure
your local copy is up-to-date</a></li><li><span class="TOCOutline">4</span> <a
shape="rect" href="#BuildingStruts2-Normalrelease-Createareleasebranch">Create
a release branch</a></li><li><span class="TOCOutline">5</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Preparerelease">Prepare
release</a></li><li><span class="TOCOutline">6</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Performtherelease">Perform the
release</a></li><li><span class="TOCOutline">7</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Movetheasse
mblies">Move the assemblies</a></li><li><span class="TOCOutline">8</span> <a
shape="rect"
href="#BuildingStruts2-Normalrelease-Announceavailability">Announce
availability</a></li><li><span class="TOCOutline">9</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Cleanuprepository">Clean up
repository</a></li><li><span class="TOCOutline">10</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Voteonit">Vote on it</a></li><li><span
class="TOCOutline">11</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Copyfiles">Copy files</a></li><li><span
class="TOCOutline">12</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Promoterelease">Promote
release</a></li><li><span class="TOCOutline">13</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Cleanupoldreleases">Clean up old
releases</a></li><li><span class="TOCOutline">14</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Waitforrsync">Wait for
rsync</a></li><li><span class="TOCOutline">15</s
pan> <a shape="rect" href="#BuildingStruts2-Normalrelease-Updatesite">Update
site</a></li><li><span class="TOCOutline">16</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Redeploythedocs(Optional)">Redeploy the
docs (Optional)</a></li><li><span class="TOCOutline">17</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Postannouncements">Post
announcements</a></li></ul>
</div><h2 id="BuildingStruts2-Normalrelease-BuildingSteps(Struts)">Building
Steps (Struts)</h2><h3 id="BuildingStruts2-Normalrelease-Gettingready">Getting
ready</h3><ol><li>Create an "Struts 2.x.y omnibus ticket" ticket in JIRA to
refer to in upcoming release related commit comments and for general
documentation purposes. Mark it with priority "Blocker".</li><li>Switch to
branch <code>develop</code></li><li>Ensure that the master POM and Struts
Annotations have current releases</li><li>Review JIRA for any issues without a
fix version set, and for any issues that should be resolved for the pending
release.</li><li>Ensure that there are no repositories or pluginRepositories
listed in the poms.</li><li>If you have committed all changes regarding the
release process, close the omnibus ticket as it is the last open ticket for the
upcoming release</li><li>Release the upcoming version in JIRA (under
Administration/Manage Releases) and tag the release date</li><li>Add next
milestone ve
rsion to the JIRA roadmap</li><li>Create DONE and TODO filters for the new
version, share with all, and remove obsolete TODO filter</li><li>Create a new
Version Notes page in Confluence, link from <a shape="rect"
href="migration-guide.html">Migration Guide</a>, and link to prior release page
and JIRA DONE filters of the version to release</li><li>Export wiki pages and
put them under <code>/docs</code></li></ol><h3
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs
when needed</h3><p>Checkout <code>struts-site</code> project (see details
at the bottom of this page) and perform export:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[cd struts-site
@@ -182,10 +182,10 @@ mvn javadoc:javadoc deploy --no-plugin-u
<p>Repository is identified by user name and
public IP address, so if in meantime your IP changed, a new staging repository
will be created so you must drop the old one (check the dates!) - if IP is the
same, artifacts will be uploaded to the same repository as first attempt.</p>
</div>
</div>
-<h3 id="BuildingStruts2-Normalrelease-Movetheassemblies">Move the
assemblies</h3><p>To simplify testing, the assemblies have to be moved to the
<code>/www/people.apache.org/builds/struts/$VERSION</code> dir.</p><p>After
closing repository in Nexus, check if the release files are available from
staging repository as bellow:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h3 id="BuildingStruts2-Normalrelease-Movetheassemblies">Move the
assemblies</h3><p>To simplify testing, the assemblies have to be moved to the
<code class="java plain">https:</code><code class="java
comments">//dist.apache.org/repos/dist/dev/struts/</code><code>$VERSION</code>
dir.</p><p>After closing repository in Nexus, check if the release files are
available from staging repository as bellow:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[https://repository.apache.org/content/groups/staging/org/apache/struts/struts2-assembly/$VERSION/
]]></script>
-</div></div><p>In order to move the assemblies login to people.apache.org and
execute the following code:</p><p><span style="font-family: monospace;"><span
style="white-space: pre-wrap;background-color: rgb(255,255,255);"><br
clear="none"></span></span></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>In order to move the assemblies login to people.apache.org and
execute the following code:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[#!/bin/sh
#create the destination directory
Modified: websites/production/struts/content/docs/file-upload.html
==============================================================================
--- websites/production/struts/content/docs/file-upload.html (original)
+++ websites/production/struts/content/docs/file-upload.html Fri Apr 3
05:49:56 2015
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><p>The Struts 2 framework provides
built-in support for processing file uploads that conform to <a shape="rect"
class="external-link" href="http://www.ietf.org/rfc/rfc1867.txt"
rel="nofollow">RFC 1867</a>, "Form-based File Upload in HTML". When correctly
configured the framework will pass uploaded file(s) into your Action class.
Support for individual and multiple file uploads are provided. When a file is
uploaded it will typically be stored in a temporary directory. Uploaded files
should be processed or moved by your Action class to ensure the data is not
lost. Be aware that servers may have a security policy in place that prohibits
you from writing to directories other than the temporary directory and the
directories that belong to your web application.</p><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1422602378371 {padding: 0px;}
-div.rbtoc1422602378371 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1422602378371 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039322792 {padding: 0px;}
+div.rbtoc1428039322792 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1428039322792 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1422602378371">
+/*]]>*/</style></p><div class="toc-macro rbtoc1428039322792">
<ul class="toc-indentation"><li><a shape="rect"
href="#FileUpload-Dependencies">Dependencies</a></li><li><a shape="rect"
href="#FileUpload-BasicUsage">Basic Usage</a></li><li><a shape="rect"
href="#FileUpload-UploadingMultipleFiles">Uploading Multiple Files</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#FileUpload-UploadingMultipleFilesusingArrays">Uploading Multiple Files
using Arrays</a></li><li><a shape="rect"
href="#FileUpload-UploadingMultipleFilesusingLists">Uploading Multiple Files
using Lists</a></li></ul>
</li><li><a shape="rect" href="#FileUpload-AdvancedConfiguration">Advanced
Configuration</a>
Modified: websites/production/struts/content/docs/interceptors.html
==============================================================================
--- websites/production/struts/content/docs/interceptors.html (original)
+++ websites/production/struts/content/docs/interceptors.html Fri Apr 3
05:49:56 2015
@@ -145,11 +145,11 @@ under the License.
</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 invocation
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.rbtoc1422601979749 {padding: 0px;}
-div.rbtoc1422601979749 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1422601979749 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039145673 {padding: 0px;}
+div.rbtoc1428039145673 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1428039145673 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1422601979749">
+/*]]>*/</style></p><div class="toc-macro rbtoc1428039145673">
<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>
@@ -270,6 +270,8 @@ div.rbtoc1422601979749 li {margin-left:
<bean type="com.opensymphony.xwork2.util.PatternMatcher"
name="namedVariable"
class="com.opensymphony.xwork2.util.NamedVariablePatternMatcher"/>
<bean type="com.opensymphony.xwork2.util.PatternMatcher"
name="regex"
class="org.apache.struts2.util.RegexPatternMatcher"/>
+ <bean type="org.apache.struts2.util.ContentTypeMatcher"
name="struts"
class="org.apache.struts2.util.DefaultContentTypeMatcher"/>
+
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="struts"
class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="composite"
class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper"
/>
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="restful"
class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" />
Modified: websites/production/struts/content/docs/localization.html
==============================================================================
--- websites/production/struts/content/docs/localization.html (original)
+++ websites/production/struts/content/docs/localization.html Fri Apr 3
05:49:56 2015
@@ -159,7 +159,11 @@ not found com/acme/package.properties, i
<p></p>
</div>
</div>
-<h2 id="Localization-Examples">Examples</h2><p>There are several ways to
access the message resources, including <code>getText</code>, the
<code>text</code> tag, and the <code>i18n</code> tag.</p><h3
id="Localization-UsinggetTextfromaTag">Using <code>getText</code> from a
Tag</h3><p>To display i18n text, use a call to <code>getText</code> in the <a
shape="rect" href="property.html">property</a> tag, or any other tag, such as
the UI tags. (The <code>getText</code> technique is especially useful for
labels of UI tags.)</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<h3 id="Localization-Defaultaction'sclass">Default action's class</h3><p>If
you configure action as follow</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<action name="index">
+ <result>/index.jsp</result>
+</action>]]></script>
+</div></div><p>it will use a default class defined
with <code>default-class-ref</code><span style="color:
rgb(34,34,34);"> in <code>struts-default.xml</code> which
is <code>com.opensymphony.xwork2.ActionSupport</code>. It means you have
two options here to get I18N working in that case:</span></p><ul><li><span
style="color:
rgb(34,34,34);">define <code>com/opensymphony/xwork2/ActionSupport.properties</code>
and put messages there</span></li><li><span style="color:
rgb(34,34,34);">point <code>default-class-ref</code> to your base class
and then defined appropriated <code>.properties</code> file (corresponding
to class' name or package)</span></li></ul><p><span style="font-size:
20.0px;line-height: 1.5;">Examples</span></p><p>There are several ways to
access the message resources, including <code>getText</code>, the
<code>text</code> tag, and the <code>i18n</code> tag.</p><h3
id="Localization-UsinggetTextfromaTag">Using <code>getText</code> from a Ta
g</h3><p>To display i18n text, use a call to <code>getText</code> in the <a
shape="rect" href="property.html">property</a> tag, or any other tag, such as
the UI tags. (The <code>getText</code> technique is especially useful for
labels of UI tags.)</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[
<s:property value="getText('some.key')" />
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 Apr 3
05:49:56 2015
@@ -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.3.x">Version Notes 2.3.x</h3><ul><li><a
shape="rect" href="version-notes-2322.html">Version Notes 2.3.22</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.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="r
ect" 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 differe
nt?</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><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 colspan="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 id="ConfluenceContent"><p>Getting here from there.</p><h3
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><a
shape="rect" href="version-notes-2323.html">Version Notes 2.3.23</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.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="r
ect" 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 differe
nt?</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><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 colspan="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">
Modified: websites/production/struts/content/docs/plugins.html
==============================================================================
--- websites/production/struts/content/docs/plugins.html (original)
+++ websites/production/struts/content/docs/plugins.html Fri Apr 3 05:49:56
2015
@@ -154,7 +154,7 @@ under the License.
configuration and the actual validation (since 2.1)</td></tr><tr><td
colspan="1" rowspan="1">com.opensymphony.xwork2.util.ValueStackFactory</td><td
colspan="1" rowspan="1">struts.valueStackFactory</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Creates value stacks
(since 2.1)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.reflection.ReflectionProvider</td><td
colspan="1" rowspan="1">struts.reflectionProvider</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Provides reflection
services, key place to plug in a custom expression language (since
2.1)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.reflection.ReflectionContextFactory</td><td
colspan="1" rowspan="1">struts.reflectionContextFactory</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Creates reflection
context maps used for reflection and expression language operations (since
2.1)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.config.PackageProvider</td><td
colspan="1" rowspan="1">N/A</td><td colspan="1" rowspan="1">singleton</td><td
colspan="1" rowspan="1">All beans registered as PackageProvider implementations
will be automatically included in configuration building (since
2.1)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.util.PatternMatcher</td><td colspan="1"
rowspan="1">struts.patternMatcher</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Matches patterns, such as
action names, generally used in configuration (since 2.1)</td></tr><tr><td
colspan="1"
rowspan="1">org.apache.struts2.views.dispatcher.DefaultStaticContentLoader</td><td
colspan="1" rowspan="1">struts.staticContentLoader</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Loads static resources
(since 2.1)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.XWorkConverter</td><td
colspan="1" rowspan="1">strut
s.xworkConverter</td><td colspan="1" rowspan="1">singleton</td><td colspan="1"
rowspan="1">Handles conversion logic and allows to load custom converters per
class or per action</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.TextProvider</td><td colspan="1"
rowspan="1">struts.xworkTextProvider</td><td colspan="1"
rowspan="1">default</td><td colspan="1" rowspan="1">Allows provide custom
TextProvider for whole application</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.LocaleProvider</td><td colspan="1"
rowspan="1">struts.localeProvider</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Allows provide custom
TextProvider for whole application</td></tr><tr><td colspan="1"
rowspan="1">org.apache.struts2.components.UrlRenderer</td><td colspan="1"
rowspan="1">struts.urlRenderer</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Allows provide custom
implementation of environment specific URL rendering/creating
class</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.UnknownHandlerManager</td><td colspan="1"
rowspan="1">struts.unknownHandlerManager</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Implementation of this
interface allows handle logic of unknown Actions, Methods or
Results</td></tr><tr><td colspan="1"
rowspan="1">org.apache.struts2.views.util.UrlHelper</td><td colspan="1"
rowspan="1">struts.view.urlHelper</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Helper class used with
URLRenderer to provide exact logic for building URLs</td></tr><tr><td
colspan="1" rowspan="1">com.opensymphony.xwork2.FileManagerFactory</td><td
colspan="1" rowspan="1">struts.fileManagerFactory</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Used to create
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
</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.CollectionConverter</td><td
colspan="1" rowspan="1">struts.converter.collection</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Converter used to convert
any object to Collection and back</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.ArrayConverter</td><td
colspan="1" rowspan="1">struts.converter.array</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Converter used to convert
any object to Array and back</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.DateConverter</td><td
colspan="1" rowspan="1">struts.converter.date</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Converter used to convert
any object to Date and back</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.NumberConverter</td><td
colspan="1" rowspan="1">struts.conv
erter.number</td><td colspan="1" rowspan="1">singleton</td><td colspan="1"
rowspan="1">Converter used to convert any object to Number and
back</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.impl.StringConverter</td><td
colspan="1" rowspan="1">struts.converter.string</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Converter used to convert
any object to String and back</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor</td><td
colspan="1" rowspan="1">struts.conversion.properties.processor</td><td
colspan="1" rowspan="1">singleton</td><td colspan="1" rowspan="1">Process
Properties to create converters</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor</td><td
colspan="1" rowspan="1">struts.converter.file.processor</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Process
<class>-conversion.propertie
s file create converters</class></td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor</td><td
colspan="1" rowspan="1">struts.converter.annotation.processor</td><td
colspan="1" rowspan="1">singleton</td><td colspan="1" rowspan="1">Process
TypeConversion annotation to create converters</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.TypeConverterCreator</td><td
colspan="1" rowspan="1">struts.converter.creator</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Creates user
converters</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.conversion.TypeConverterHolder</td><td
colspan="1" rowspan="1">struts.converter.holder</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Holds user converters'
instances</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.util.TextParser</td><td colspan="1"
rowspan="1">struts.expression.parser</td><td co
lspan="1" rowspan="1">singleton</td><td colspan="1" rowspan="1">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 colspan="1"
rowspan="1">com.opensymphony.xwork2.ExcludedPatternsChecker</td><td colspan="1"
rowspan="1">struts.excludedPatterns.checker</td><td colspan="1"
rowspan="1">request</td><td colspan="1" rowspan="1">Used across different
interceptors to check if given string matches one of the excluded
patterns</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.AcceptedPatternsChecker</td><td colspan="1"
rowspan="1">struts.acceptedPatterns.checker</td><td colspan="1"
rowspan="1">request</td><td colspan="1" rowspan="1">Used across different
interceptors to check if given string matches one of the accepted
patterns</td></tr></table></p>
+ implementation what kind of opening char to use (#, $, %,
etc)</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.ExcludedPatternsChecker</td><td colspan="1"
rowspan="1">struts.excludedPatterns.checker</td><td colspan="1"
rowspan="1">request</td><td colspan="1" rowspan="1">Used across different
interceptors to check if given string matches one of the excluded
patterns</td></tr><tr><td colspan="1"
rowspan="1">com.opensymphony.xwork2.AcceptedPatternsChecker</td><td colspan="1"
rowspan="1">struts.acceptedPatterns.checker</td><td colspan="1"
rowspan="1">request</td><td colspan="1" rowspan="1">Used across different
interceptors to check if given string matches one of the accepted
patterns</td></tr><tr><td colspan="1"
rowspan="1">org.apache.struts2.util.ContentTypeMatcher</td><td colspan="1"
rowspan="1">struts.contentTypeMatcher</td><td colspan="1"
rowspan="1">singleton</td><td colspan="1" rowspan="1">Matches content type of
uploaded files (since 2.3.22)</td></tr></t
able></p>
<h2 id="Plugins-PluginExamples">Plugin Examples</h2><p>Let's look at two
similar but different plugins bundled with the core distribution.</p><h3
id="Plugins-Sitemeshplugin">Sitemesh plugin</h3><p><a shape="rect"
class="external-link" href="http://opensymphony.com/sitemesh/"
rel="nofollow">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>sitemesh-plugin.jar</code> contains several classes, a standard JAR
manifest, and a plugin configuration file.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[ + META-INF/
+ manifest.mf
Modified: websites/production/struts/content/docs/struts-defaultxml.html
==============================================================================
--- websites/production/struts/content/docs/struts-defaultxml.html (original)
+++ websites/production/struts/content/docs/struts-defaultxml.html Fri Apr 3
05:49:56 2015
@@ -228,6 +228,8 @@ under the License.
<bean type="com.opensymphony.xwork2.util.PatternMatcher"
name="namedVariable"
class="com.opensymphony.xwork2.util.NamedVariablePatternMatcher"/>
<bean type="com.opensymphony.xwork2.util.PatternMatcher"
name="regex"
class="org.apache.struts2.util.RegexPatternMatcher"/>
+ <bean type="org.apache.struts2.util.ContentTypeMatcher"
name="struts"
class="org.apache.struts2.util.DefaultContentTypeMatcher"/>
+
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="struts"
class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="composite"
class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper"
/>
<bean
type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="restful"
class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" />
Modified: websites/production/struts/content/docs/type-conversion.html
==============================================================================
--- websites/production/struts/content/docs/type-conversion.html (original)
+++ websites/production/struts/content/docs/type-conversion.html Fri Apr 3
05:49:56 2015
@@ -141,11 +141,11 @@ under the License.
<div id="ConfluenceContent"><p>Routine type conversion in the
framework is transparent. Generally, all you need to do is ensure that HTML
inputs have names that can be used in <a shape="rect" href="ognl.html">OGNL</a>
expressions. (HTML inputs are form elements and other GET/POST parameters.)</p>
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1422602079907 {padding: 0px;}
-div.rbtoc1422602079907 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1422602079907 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039172740 {padding: 0px;}
+div.rbtoc1428039172740 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1428039172740 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1422602079907">
+/*]]>*/</style><div class="toc-macro rbtoc1428039172740">
<ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a
shape="rect" href="#TypeConversion-BuiltinTypeConversionSupport">Built in Type
Conversion Support</a></li><li><span class="TOCOutline">2</span> <a
shape="rect" href="#TypeConversion-RelationshiptoParameterNames">Relationship
to Parameter Names</a></li><li><span class="TOCOutline">3</span> <a
shape="rect" href="#TypeConversion-CreatingaTypeConverter">Creating a Type
Converter</a></li><li><span class="TOCOutline">4</span> <a shape="rect"
href="#TypeConversion-ApplyingaTypeConvertertoanAction">Applying a Type
Converter to an Action</a></li><li><span class="TOCOutline">5</span> <a
shape="rect"
href="#TypeConversion-ApplyingaTypeConvertertoabeanormodel">Applying a Type
Converter to a bean or model</a></li><li><span class="TOCOutline">6</span> <a
shape="rect"
href="#TypeConversion-ApplyingaTypeConverterforanapplication">Applying a Type
Converter for an application</a></li><li><span class="TOCOutline">7</span> <a
shape="r
ect" href="#TypeConversion-ASimpleExample">A Simple Example</a></li><li><span
class="TOCOutline">8</span> <a shape="rect"
href="#TypeConversion-AdvancedTypeConversion">Advanced Type Conversion</a>
<ul class="toc-indentation"><li><span class="TOCOutline">8.1</span> <a
shape="rect" href="#TypeConversion-NullPropertyHandling">Null Property
Handling</a></li><li><span class="TOCOutline">8.2</span> <a shape="rect"
href="#TypeConversion-CollectionandMapSupport">Collection and Map Support</a>
<ul class="toc-indentation"><li><span class="TOCOutline">8.2.1</span> <a
shape="rect"
href="#TypeConversion-Indexingacollectionbyapropertyofthatcollection">Indexing
a collection by a property of that collection</a></li></ul>
Modified: websites/production/struts/content/docs/validation.html
==============================================================================
--- websites/production/struts/content/docs/validation.html (original)
+++ websites/production/struts/content/docs/validation.html Fri Apr 3 05:49:56
2015
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><p>Struts 2 validation is configured
via XML or annotations. Manual validation in the action is also possible, and
may be combined with XML and annotation-driven validation.</p><p>Validation
also depends on both the <code>validation</code> and <code>workflow</code>
interceptors (both are included in the default interceptor stack). The
<code>validation</code> interceptor does the validation itself and creates a
list of field-specific errors. The <code>workflow</code> interceptor checks for
the presence of validation errors: if any are found, it returns the "input"
result (by default), taking the user back to the form which contained the
validation errors.</p><p>If we're using the default settings <em>and</em> our
action doesn't have an "input" result defined <em>and</em> there are validation
(or, incidentally, type conversion) errors, we'll get an error message back
telling us there's no "input" result defined for the action.</p><p><strong>CONT
ENTS</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1422602216085 {padding: 0px;}
-div.rbtoc1422602216085 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1422602216085 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1428039262982 {padding: 0px;}
+div.rbtoc1428039262982 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1428039262982 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1422602216085">
+/*]]>*/</style></p><div class="toc-macro rbtoc1428039262982">
<ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a
shape="rect" href="#Validation-UsingAnnotations">Using
Annotations</a></li><li><span class="TOCOutline">2</span> <a shape="rect"
href="#Validation-Examples">Examples</a></li><li><span
class="TOCOutline">3</span> <a shape="rect"
href="#Validation-BundledValidators">Bundled Validators</a></li><li><span
class="TOCOutline">4</span> <a shape="rect"
href="#Validation-RegisteringValidators">Registering
Validators</a></li><li><span class="TOCOutline">5</span> <a shape="rect"
href="#Validation-TurningonValidation">Turning on Validation</a></li><li><span
class="TOCOutline">6</span> <a shape="rect"
href="#Validation-ValidatorScopes">Validator Scopes</a>
<ul class="toc-indentation"><li><span class="TOCOutline">6.1</span> <a
shape="rect" href="#Validation-Notes">Notes</a></li></ul>
</li><li><span class="TOCOutline">7</span> <a shape="rect"
href="#Validation-DefiningValidationRules">Defining Validation
Rules</a></li><li><span class="TOCOutline">8</span> <a shape="rect"
href="#Validation-LocalizingandParameterizingMessages">Localizing and
Parameterizing Messages</a></li><li><span class="TOCOutline">9</span> <a
shape="rect" href="#Validation-ValidatorFlavor">Validator
Flavor</a></li><li><span class="TOCOutline">10</span> <a shape="rect"
href="#Validation-Non-FieldValidatorVsField-Validatorvalidatortypes">Non-Field
Validator Vs Field-Validator</a></li><li><span class="TOCOutline">11</span> <a
shape="rect" href="#Validation-Short-CircuitingValidator">Short-Circuiting
Validator</a></li><li><span class="TOCOutline">12</span> <a shape="rect"
href="#Validation-HowValidatorsofanActionareFound">How Validators of an Action
are Found</a></li><li><span class="TOCOutline">13</span> <a shape="rect"
href="#Validation-Writingcustomvalidators">Writing custom validators</a></li><
li><span class="TOCOutline">14</span> <a shape="rect"
href="#Validation-Resources">Resources</a></li><li><span
class="TOCOutline">15</span> <a shape="rect" href="#Validation-Next:">Next:
Localization</a></li></ul>
Added: websites/production/struts/content/docs/version-notes-2323.html
==============================================================================
--- websites/production/struts/content/docs/version-notes-2323.html (added)
+++ websites/production/struts/content/docs/version-notes-2323.html Fri Apr 3
05:49:56 2015
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html>
+<head>
+ <link type="text/css" rel="stylesheet"
href="https://struts.apache.org/css/default.css">
+ <style type="text/css">
+ .dp-highlighter {
+ width:95% !important;
+ }
+ </style>
+ <style type="text/css">
+ .footer {
+ background-image:
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+ background-repeat: repeat-x;
+ background-position: left top;
+ padding-top: 4px;
+ color: #666;
+ }
+ </style>
+ <link href='https://struts.apache.org/highlighter/style/shCoreStruts.css'
rel='stylesheet' type='text/css' />
+ <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css'
rel='stylesheet' type='text/css' />
+ <script src='https://struts.apache.org/highlighter/js/shCore.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushXml.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushJava.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js'
type='text/javascript'></script>
+ <script src='https://struts.apache.org/highlighter/js/shBrushBash.js'
type='text/javascript'></script>
+ <script type="text/javascript">
+ SyntaxHighlighter.defaults['toolbar'] = false;
+ SyntaxHighlighter.all();
+ </script>
+ <script type="text/javascript" language="javascript">
+ var hide = null;
+ var show = null;
+ var children = null;
+
+ function init() {
+ /* Search form initialization */
+ var form = document.forms['search'];
+ if (form != null) {
+ form.elements['domains'].value = location.hostname;
+ form.elements['sitesearch'].value = location.hostname;
+ }
+
+ /* Children initialization */
+ hide = document.getElementById('hide');
+ show = document.getElementById('show');
+ children = document.all != null ?
+ document.all['children'] :
+ document.getElementById('children');
+ if (children != null) {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ }
+
+ function showChildren() {
+ children.style.display = 'block';
+ show.style.display = 'none';
+ hide.style.display = 'inline';
+ }
+
+ function hideChildren() {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ </script>
+ <title>Version Notes 2.3.23</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+ <tr class="topBar">
+ <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+ <a href="home.html">Home</a> > <a
href="guides.html">Guides</a> > <a
href="migration-guide.html">Migration Guide</a> > <a
href="version-notes-2323.html">Version Notes 2.3.23</a>
+ </td>
+ <td align="right" valign="middle" nowrap>
+ <form name="search" action="https://www.google.com/search"
method="get">
+ <input type="hidden" name="ie" value="UTF-8" />
+ <input type="hidden" name="oe" value="UTF-8" />
+ <input type="hidden" name="domains" value="" />
+ <input type="hidden" name="sitesearch" value="" />
+ <input type="text" name="q" maxlength="255" value="" />
+ <input type="submit" name="btnG" value="Google Search" />
+ </form>
+ </td>
+ </tr>
+</table>
+
+<div id="PageContent">
+ <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+ <!-- We'll enable this once we figure out how to access (and save) the
logo resource -->
+ <!--img src="/wiki/images/confluence_logo.gif" style="float: left;
margin: 4px 4px 4px 10px;" border="0"-->
+ <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts
2 Documentation</div>
+ <div style="margin: 0px 10px 8px 10px" class="pagetitle">Version
Notes 2.3.23</div>
+
+ <div class="greynavbar" align="right" style="padding: 2px 10px;
margin: 0px;">
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Edit Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=50857454">Edit
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Browse Space"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse
Space</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=50857454">Add
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add News"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=50857454">Add
News</a>
+ </div>
+ </div>
+
+ <div class="pagecontent">
+ <div class="wiki-content">
+ <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts
2.3.23 distribution.</p><p><img class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For prior notes in this release
series, see <a shape="rect" href="version-notes-2320.html">Version Notes
2.3.20</a></p><ul><li>If you are a Maven user, you might want to get started
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven
Archetype</a>.</li><li>Another quick-start entry point is the
<strong>blank</strong> application. Rename and deploy the WAR as a starting
point for your own development.</li></ul><div class="code pane
l pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-core</artifactId>
+ <version>2.3.23</version>
+</dependency>
+]]></script>
+</div></div><p>You can also use Struts Archetype Catalog like below</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Archetype
Catalog</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: text; gutter: false"
type="syntaxhighlighter"><![CDATA[mvn archetype:generate
-DarchetypeCatalog=http://struts.apache.org/]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Staging
Repository</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<repositories>
+ <repository>
+ <id>apache.nexus</id>
+ <name>ASF Nexus Staging</name>
+
<url>https://repository.apache.org/content/groups/staging/</url>
+ </repository>
+</repositories>]]></script>
+</div></div><h2 id="VersionNotes2.3.23-InternalChanges">Internal
Changes</h2><ul><li>fixed flow in <code>DefaultActionInvocation</code> and
when using the <a shape="rect" href="convention-plugin.html">Convention
Plugin</a>, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4433">WW-4433</a></li><li>defined
new plugin to support Java 8, check <a shape="rect"
href="java-8-support-plugin.html">Java 8 Support Plugin</a> and see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4435">WW-4435</a></li><li>fixed
problem with <code>style</code> attribute, see <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/WW-4430">WW-4430</a></li><li>fixed
problem with converting values from <code>ActionContext</code>, see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4427">WW-4427</a></li><li>converters
are again applied to values c
oming from the context, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4427">WW-4427</a></li><li><code>struts.ognl.allowStaticMethodAccess</code>
works again, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4429">WW-4429</a></li><li>fixed
memory leak in CDI plugin, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4441">WW-4441</a></li><li>fixed
problem with hidden field which silently drops 'label' attribute, see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4447">WW-4447</a></li><li>fixed
parameters encoding in <code>ServletRedirectAction</code> before checking
for valid URI, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4448" style="text-decoration:
underline;">WW-4448</a></li><li><code>css_xhtml</code> hidden input adding
table row markup, see&
#160;<a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4454">WW-4454</a></li><li>and
many other improvements, please check the <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329280&projectId=12311041">version
notes</a></li></ul><p> </p> <div class="aui-message warning shadowed
information-macro">
+ <span class="aui-icon icon-warning">Icon</span>
+ <div class="message-content">
+ <p>Please read information about new <a
shape="rect" href="security.html#Security-Internalsecuritymechanism">internal
security mechanism</a> introduced with the previous version and extended in
this version!</p>
+ </div>
+ </div>
+<h3 id="VersionNotes2.3.23-IssueDetail">Issue Detail</h3><ul><li><a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329859&projectId=12311041">JIRA
Release Notes 2.3.23</a></li></ul><h3 id="VersionNotes2.3.23-IssueList">Issue
List</h3><ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/issues/?filter=12330045">Struts 2.3.23
DONE</a></li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/issues/?filter=12318399">Struts 2.3.x
TODO</a></li></ul><h3 id="VersionNotes2.3.23-Otherresources">Other
resources</h3><ul><li><a shape="rect" class="external-link"
href="http://www.mail-archive.com/commits%40struts.apache.org/"
rel="nofollow">Commit Logs</a></li><li><a shape="rect" class="external-link"
href="https://git-wip-us.apache.org/repos/asf?p=struts.git;a=tree;h=refs/heads/develop;hb=develop">Source
Code Repository</a></li></ul><div><span style="font-size: 24.0px;line-heig
ht: 30.0px;"><br clear="none"></span></div><div><span style="font-size:
24.0px;line-height: 30.0px;background-color: rgb(245,245,245);"><br
clear="none"></span></div></div>
+ </div>
+
+
+ </div>
+</div>
+<div class="footer">
+ Generated by CXF SiteExporter
+</div>
+</body>
+</html>