This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 8e8f1a2fc Automatic Site Publish by Buildbot
8e8f1a2fc is described below
commit 8e8f1a2fceeeb1a71f624488a7379bd6ff08ae5a
Author: buildbot <[email protected]>
AuthorDate: Wed Oct 19 14:05:35 2022 +0000
Automatic Site Publish by Buildbot
---
output/core-developers/chain-result.html | 2 +-
output/core-developers/dispatcher-result.html | 2 +-
.../execute-and-wait-interceptor.html | 149 ++++++++++-----------
output/core-developers/freemarker-result.html | 2 +-
output/core-developers/httpheader-result.html | 2 +-
output/core-developers/plain-result.html | 2 +-
output/core-developers/plaintext-result.html | 2 +-
output/core-developers/postback-result.html | 97 +++++++-------
output/core-developers/redirect-action-result.html | 2 +-
output/core-developers/redirect-result.html | 2 +-
output/core-developers/result-types.html | 65 ++++++---
output/core-developers/stream-result.html | 2 +-
output/core-developers/xsl-result.html | 2 +-
output/plugins/index.html | 25 ++--
14 files changed, 192 insertions(+), 164 deletions(-)
diff --git a/output/core-developers/chain-result.html
b/output/core-developers/chain-result.html
index 640b94819..a8af6a94c 100644
--- a/output/core-developers/chain-result.html
+++ b/output/core-developers/chain-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/chain-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="chain-result">Chain Result</h1>
diff --git a/output/core-developers/dispatcher-result.html
b/output/core-developers/dispatcher-result.html
index dd2b223da..7b7c751ed 100644
--- a/output/core-developers/dispatcher-result.html
+++ b/output/core-developers/dispatcher-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/dispatcher-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="dispatcher-result">Dispatcher Result</h1>
diff --git a/output/core-developers/execute-and-wait-interceptor.html
b/output/core-developers/execute-and-wait-interceptor.html
index d66a395a0..d90537c0b 100644
--- a/output/core-developers/execute-and-wait-interceptor.html
+++ b/output/core-developers/execute-and-wait-interceptor.html
@@ -133,36 +133,36 @@
<h1 id="execute-and-wait-interceptor">Execute and Wait Interceptor</h1>
-<p>The ExecuteAndWaitInterceptor is great for running long-lived actions in
the background while showing the user a nice
+<p>The ExecuteAndWaitInterceptor is great for running long-lived actions in
the background while showing the user a nice
progress meter. This also prevents the HTTP request from timing out when the
action takes more than 5 or 10 minutes.</p>
-<p>Using this interceptor is pretty straight forward. Assuming that you are
including struts-default.xml, this interceptor
-is already configured but is not part of any of the default stacks. Because of
the nature of this interceptor, it must
+<p>Using this interceptor is pretty straight forward. Assuming that you are
including struts-default.xml, this interceptor
+is already configured but is not part of any of the default stacks. Because of
the nature of this interceptor, it must
be the <code class="language-plaintext highlighter-rouge">last</code>
interceptor in the stack.</p>
-<p>This interceptor works on a per-session basis. That means that the same
action name (<code class="language-plaintext
highlighter-rouge">myLongRunningAction</code>, in
+<p>This interceptor works on a per-session basis. That means that the same
action name (<code class="language-plaintext
highlighter-rouge">myLongRunningAction</code>, in
the above example) cannot be run more than once at a time in a given session.
On the initial request or any subsequent
requests (before the action has completed), the <code
class="language-plaintext highlighter-rouge">wait</code> result will be
returned.</p>
<blockquote>
- <p>The wait result is responsible for issuing a subsequent request back to
the action, giving the effect
+ <p>The wait result is responsible for issuing a subsequent request back to
the action, giving the effect
of a self-updating progress meter.</p>
</blockquote>
-<p>If no <code class="language-plaintext highlighter-rouge">wait</code> result
is found, Struts will automatically generate a wait result on the fly. This
result is written
-in FreeMarker and cannot run unless FreeMarker is installed. If you don’t wish
to deploy with FreeMarker, you must
+<p>If no <code class="language-plaintext highlighter-rouge">wait</code> result
is found, Struts will automatically generate a wait result on the fly. This
result is written
+in FreeMarker and cannot run unless FreeMarker is installed. If you don’t wish
to deploy with FreeMarker, you must
provide your own wait result. This is generally a good thing to do anyway, as
the default wait page is very plain.</p>
-<p>Whenever the wait result is returned, the action that is currently running
in the background will be placed on top
-of the stack. This allows you to display progress data, such as a count, in
the wait page. By making the wait page
+<p>Whenever the wait result is returned, the action that is currently running
in the background will be placed on top
+of the stack. This allows you to display progress data, such as a count, in
the wait page. By making the wait page
automatically reload the request to the action (which will be short-circuited
by the interceptor), you can give
the appearance of an automatic progress meter.</p>
-<p>This interceptor also supports using an initial wait delay. An initial
delay is a time in milliseconds we let the server
-wait before the wait page is shown to the user. During the wait this
interceptor will wake every 100 millis to check
-if the background process is done premature, thus if the job for some reason
doesn’t take to long the wait page is not
+<p>This interceptor also supports using an initial wait delay. An initial
delay is a time in milliseconds we let the server
+wait before the wait page is shown to the user. During the wait this
interceptor will wake every 100 millis to check
+if the background process is done premature, thus if the job for some reason
doesn’t take to long the wait page is not
shown to the user.
-This is useful for e.g. search actions that have a wide span of execution
time. Using a delay time of 2000 millis we
+This is useful for e.g. search actions that have a wide span of execution
time. Using a delay time of 2000 millis we
ensure the user is presented fast search results immediately and for the slow
results a wait page is used.</p>
<blockquote>
@@ -178,77 +178,76 @@ For example, the <code class="language-plaintext
highlighter-rouge">search</code
<ul>
<li><code class="language-plaintext highlighter-rouge">threadPriority</code>
(optional) - the priority to assign the thread. Default is <code
class="language-plaintext highlighter-rouge">Thread.NORM_PRIORITY</code>.</li>
- <li><code class="language-plaintext highlighter-rouge">delay</code>
(optional) - an initial delay in millis to wait before the wait page is shown
(returning <code class="language-plaintext highlighter-rouge">wait</code> as
result code).
-Default is no initial delay.</li>
- <li><code class="language-plaintext
highlighter-rouge">delaySleepInterval</code> (optional) - only used with delay.
Used for waking up at certain intervals to check if the background
-process is already done. Default is 100 millis.</li>
+ <li><code class="language-plaintext highlighter-rouge">delay</code>
(optional) - an initial delay in millis to wait before the wait page is shown
(returning <code class="language-plaintext highlighter-rouge">wait</code> as
result
+code). Default is no initial delay.</li>
+ <li><code class="language-plaintext
highlighter-rouge">delaySleepInterval</code> (optional) - only used with delay.
Used for waking up at certain intervals to check if the
+background process is already done. Default is 100 millis.</li>
</ul>
<h2 id="extending-the-interceptor">Extending the Interceptor</h2>
-<p>If you wish to make special preparations before and/or after the invocation
of the background thread, you can extend
-the <code class="language-plaintext
highlighter-rouge">BackgroundProcess</code> class and implement the <code
class="language-plaintext highlighter-rouge">beforeInvocation()</code> and
<code class="language-plaintext highlighter-rouge">afterInvocation()</code>
methods. This may be useful
-for obtaining and releasing resources that the background process will need
to execute successfully. To use your background
+<p>If you wish to make special preparations before and/or after the invocation
of the background thread, you can extend
+the <code class="language-plaintext
highlighter-rouge">BackgroundProcess</code> class and implement the <code
class="language-plaintext highlighter-rouge">beforeInvocation()</code> and
<code class="language-plaintext highlighter-rouge">afterInvocation()</code>
methods. This may be useful
+for obtaining and releasing resources that the background process will need to
execute successfully. To use your
+background
process extension, extend <code class="language-plaintext
highlighter-rouge">ExecuteAndWaitInterceptor</code> and implement the <code
class="language-plaintext highlighter-rouge">getNewBackgroundProcess()</code>
method.</p>
<h2 id="examples">Examples</h2>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="nt"><action</span> <span
class="na">name=</span><span class="s">"someAction"</span> <span
class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span
class="nt">></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">/></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
- <span class="nt"></action></span>
-
- <span class="err"><</span>%@ taglib prefix="s" uri="/struts" %>
- <span class="nt"><html></span>
- <span class="nt"><head></span>
- <span class="nt"><title></span>Please wait<span
class="nt"></title></span>
- <span class="nt"><meta</span> <span class="na">http-equiv=</span><span
class="s">"refresh"</span> <span class="na">content=</span><span
class="s">"5;url=<s:url includeParams="</span><span class="err">all"</span>
<span class="nt">/></span>"/>
- <span class="nt"></head></span>
- <span class="nt"><body></span>
- Please wait while we process your request.
- Click <span class="nt"><a</span> <span class="na">href=</span><span
class="s">"<s:url includeParams="</span><span class="err">all"</span> <span
class="nt">/></span>"><span class="nt"></a></span> if this page
does not reload automatically.
- <span class="nt"></body></span>
- <span class="nt"></html></span>
- <span class="nt"></pre></span>
-
- <span class="nt"><p><u></span>Example code2:<span
class="nt"></u></p></span>
- <span class="nt"><p></span>
- This example will wait 2 second (2000 millis) before the wait page is shown
to the user. Therefore
- if the long process didn't last long anyway the user isn't shown a wait page.
- <span class="nt"></p></span>
-
- <span class="nt"><pre></span>
- <span class="nt"><action</span> <span class="na">name=</span><span
class="s">"someAction"</span> <span class="na">class=</span><span
class="s">"com.examples.SomeAction"</span><span class="nt">></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">></span>
- <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delay"</span><span class="nt">></span>2000<span
class="nt"><param></span>
- <span class="nt"><interceptor-ref></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
- <span class="nt"></action></span>
- <span class="nt"></pre></span>
-
- <span class="nt"><p><u></span>Example code3:<span
class="nt"></u></p></span>
- <span class="nt"><p></span>
- This example will wait 1 second (1000 millis) before the wait page is shown
to the user.
- And at every 50 millis this interceptor will check if the background process
is done, if so
- it will return before the 1 second has elapsed, and the user isn't shown a
wait page.
- <span class="nt"></p></span>
-
- <span class="nt"><pre></span>
- <span class="nt"><action</span> <span class="na">name=</span><span
class="s">"someAction"</span> <span class="na">class=</span><span
class="s">"com.examples.SomeAction"</span><span class="nt">></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
- <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">></span>
- <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delay"</span><span class="nt">></span>1000<span
class="nt"><param></span>
- <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delaySleepInterval"</span><span class="nt">></span>50<span
class="nt"><param></span>
- <span class="nt"><interceptor-ref></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
- <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
- <span class="nt"></action></span>
- <span class="nt"></pre></span>
+<h3 id="example-code-1">Example code 1</h3>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><action</span> <span
class="na">name=</span><span class="s">"someAction"</span> <span
class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span
class="nt">></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">/></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
+<span class="nt"></action></span>
+</code></pre></div></div>
+
+<div class="language-html highlighter-rouge"><div class="highlight"><pre
class="highlight"><code> <span class="nt"><</span><span
class="err">%@</span> <span class="na">taglib</span> <span
class="na">prefix=</span><span class="s">"s"</span> <span
class="na">uri=</span><span class="s">"/struts"</span> <span
class="err">%</span><span class="nt">></span>
+<span class="nt"><html></span>
+<span class="nt"><head></span>
+ <span class="nt"><title></span>Please wait<span
class="nt"></title></span>
+ <span class="nt"><meta</span> <span class="na">http-equiv=</span><span
class="s">"refresh"</span> <span class="na">content=</span><span
class="s">"5;url=<s:url includeParams='all' />"</span><span
class="nt">/></span>
+<span class="nt"></head></span>
+<span class="nt"><body></span>
+Please wait while we process your request.
+Click <span class="nt"><a</span> <span class="na">href=</span><span
class="s">"<s:url includeParams="</span> <span class="na">all</span><span
class="err">"</span> <span class="nt">/></span>"><span
class="nt"></a></span> if this page does not reload automatically.
+<span class="nt"></body></span>
+<span class="nt"></html></span>
+<span class="nt"></pre></span>
+</code></pre></div></div>
+
+<h3 id="example-code-2">Example code 2:</h3>
+
+<p>This example will wait 2 second (2000 millis) before the wait page is shown
to the user. Therefore if the long process
+didn’t last long anyway the user isn’t shown a wait page.</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><action</span> <span
class="na">name=</span><span class="s">"someAction"</span> <span
class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span
class="nt">></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delay"</span><span class="nt">></span>2000<span
class="nt"></param></span>
+ <span class="nt"></interceptor-ref></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
+<span class="nt"></action></span>
+</code></pre></div></div>
+
+<h3 id="example-code-3">Example code 3:</h3>
+
+<p>This example will wait 1 second (1000 millis) before the wait page is shown
to the user.
+And at every 50 millis this interceptor will check if the background process
is done, if so
+it will return before the 1 second has elapsed, and the user isn’t shown a
wait page.</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><action</span> <span
class="na">name=</span><span class="s">"someAction"</span> <span
class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span
class="nt">></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"completeStack"</span><span
class="nt">/></span>
+ <span class="nt"><interceptor-ref</span> <span
class="na">name=</span><span class="s">"execAndWait"</span><span
class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delay"</span><span class="nt">></span>1000<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"delaySleepInterval"</span><span class="nt">></span>50<span
class="nt"></param></span>
+ <span class="nt"></interceptor-ref></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"wait"</span><span
class="nt">></span>longRunningAction-wait.jsp<span
class="nt"></result></span>
+ <span class="nt"><result</span> <span class="na">name=</span><span
class="s">"success"</span><span
class="nt">></span>longRunningAction-success.jsp<span
class="nt"></result></span>
+<span class="nt"></action></span>
</code></pre></div></div>
</section>
diff --git a/output/core-developers/freemarker-result.html
b/output/core-developers/freemarker-result.html
index 498400383..2ea07a211 100644
--- a/output/core-developers/freemarker-result.html
+++ b/output/core-developers/freemarker-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/freemarker-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="freemarker-result">FreeMarker Result</h1>
diff --git a/output/core-developers/httpheader-result.html
b/output/core-developers/httpheader-result.html
index fb5242bd0..82acbb633 100644
--- a/output/core-developers/httpheader-result.html
+++ b/output/core-developers/httpheader-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/httpheader-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="httpheader-result">HttpHeader Result</h1>
diff --git a/output/core-developers/plain-result.html
b/output/core-developers/plain-result.html
index 7c2cce2b4..e6ff3d237 100644
--- a/output/core-developers/plain-result.html
+++ b/output/core-developers/plain-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/plain-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="plain-result">Plain Result</h1>
diff --git a/output/core-developers/plaintext-result.html
b/output/core-developers/plaintext-result.html
index e3d4d839d..9e48dd72f 100644
--- a/output/core-developers/plaintext-result.html
+++ b/output/core-developers/plaintext-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/plaintext-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="plaintext-result">PlainText Result</h1>
diff --git a/output/core-developers/postback-result.html
b/output/core-developers/postback-result.html
index f070bcdf6..d3dcb5f99 100644
--- a/output/core-developers/postback-result.html
+++ b/output/core-developers/postback-result.html
@@ -133,65 +133,62 @@
<h2 id="description">Description</h2>
-<p> <p>
-
- A result that renders the current request parameters as a form which
-
- immediately submits a <a
href="http://en.wikipedia.org/wiki/Postback">postback</a>
-
- to the specified destination.
-
- </p>
-</p>
+<p>A result that renders the current request parameters as a form which
immediately submits
+a <a href="http://en.wikipedia.org/wiki/Postback">postback</a> to the
specified destination.</p>
<h2 id="parameters">Parameters</h2>
-<p> <ul>
-
- <li>location - http location to post the form</li>
-
- <li>prependServletContext (true|false) - when location is relative,
controls if to add Servlet Context, default "true"</li>
-
- <li>actionName - action name to post the form (resolved as an
expression)</li>
-
- <li>namespace - action's namespace to use (resolved as an expression)</li>
-
- <li>method - actions' method to use (resolved as an expression)</li>
-
- <li>cache (true|false) - when set to true adds cache control headers,
default "true"</li>
-
- <li>parse (true|false) - when set to true actionName, namespace and
method are parsed, default "true"</li>
-
- </ul>
-</p>
+<ul>
+ <li>location - http location to post the form</li>
+ <li>
+ <table>
+ <tbody>
+ <tr>
+ <td>prependServletContext (true</td>
+ <td>false) - when location is relative, controls if to add Servlet
Context, default “true”</td>
+ </tr>
+ </tbody>
+ </table>
+ </li>
+ <li>actionName - action name to post the form (resolved as an
expression)</li>
+ <li>namespace - action’s namespace to use (resolved as an expression)</li>
+ <li>method - actions’ method to use (resolved as an expression)</li>
+ <li>
+ <table>
+ <tbody>
+ <tr>
+ <td>cache (true</td>
+ <td>false) - when set to true adds cache control headers, default
“true”</td>
+ </tr>
+ </tbody>
+ </table>
+ </li>
+ <li>
+ <table>
+ <tbody>
+ <tr>
+ <td>parse (true</td>
+ <td>false) - when set to true actionName, namespace and method are
parsed, default “true”</td>
+ </tr>
+ </tbody>
+ </table>
+ </li>
+</ul>
<h2 id="examples">Examples</h2>
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>
- <span class="nt"><action</span> <span class="na">name=</span><span
class="s">"registerThirdParty"</span> <span class="nt">></span>
-
- <span class="nt"><result</span> <span class="na">type=</span><span
class="s">"postback"</span><span
class="nt">></span>https://www.example.com/register<span
class="nt"></result></span>
-
- <span class="nt"></action></span>
-
-
-
- <span class="nt"><action</span> <span class="na">name=</span><span
class="s">"registerThirdParty"</span> <span class="nt">></span>
-
- <span class="nt"><result</span> <span class="na">type=</span><span
class="s">"postback"</span><span class="nt">></span>
-
- <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"namespace"</span><span class="nt">></span>/secure<span
class="nt"></param></span>
-
- <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"actionName"</span><span class="nt">></span>register2<span
class="nt"></param></span>
-
- <span class="nt"></result></span>
-
- <span class="nt"></action></span>
-
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><action</span> <span
class="na">name=</span><span class="s">"registerThirdParty"</span> <span
class="nt">></span>
+ <span class="nt"><result</span> <span class="na">type=</span><span
class="s">"postback"</span><span
class="nt">></span>https://www.example.com/register<span
class="nt"></result></span>
+<span class="nt"></action></span>
+<span class="nt"><action</span> <span class="na">name=</span><span
class="s">"registerThirdParty"</span> <span class="nt">></span>
+ <span class="nt"><result</span> <span class="na">type=</span><span
class="s">"postback"</span><span class="nt">></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"namespace"</span><span class="nt">></span>/secure<span
class="nt"></param></span>
+ <span class="nt"><param</span> <span class="na">name=</span><span
class="s">"actionName"</span><span class="nt">></span>register2<span
class="nt"></param></span>
+ <span class="nt"></result></span>
+<span class="nt"></action></span>
</code></pre></div></div>
-
</section>
</article>
diff --git a/output/core-developers/redirect-action-result.html
b/output/core-developers/redirect-action-result.html
index 76c5077bd..119be1396 100644
--- a/output/core-developers/redirect-action-result.html
+++ b/output/core-developers/redirect-action-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/redirect-action-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="redirect-action-result">Redirect Action Result</h1>
diff --git a/output/core-developers/redirect-result.html
b/output/core-developers/redirect-result.html
index 214a364e2..81bbb852e 100644
--- a/output/core-developers/redirect-result.html
+++ b/output/core-developers/redirect-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/redirect-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="redirect-result">Redirect Result</h1>
diff --git a/output/core-developers/result-types.html
b/output/core-developers/result-types.html
index 0fdfd6228..4f1fcded3 100644
--- a/output/core-developers/result-types.html
+++ b/output/core-developers/result-types.html
@@ -129,12 +129,22 @@
<section class="col-md-12">
<a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/result-types.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <h1 id="result-types">Result Types</h1>
+ <h1 class="no_toc" id="result-types">Result Types</h1>
<p>Most use cases can be divided into two phases. First, we need to change or
query the application’s state, and then we need
to present an updated view of the application. The Action class manages the
application’s state, and the Result Type
manages the view.</p>
+<ul id="markdown-toc">
+ <li><a href="#predefined-result-types"
id="markdown-toc-predefined-result-types">Predefined Result Types</a></li>
+ <li><a href="#how-to-use-results" id="markdown-toc-how-to-use-results">How
to use results</a></li>
+ <li><a href="#default-result-type"
id="markdown-toc-default-result-type">Default result type</a></li>
+ <li><a href="#default-result-name"
id="markdown-toc-default-result-name">Default result name</a></li>
+ <li><a href="#default-parameters"
id="markdown-toc-default-parameters">Default parameters</a></li>
+ <li><a href="#registering-result-types"
id="markdown-toc-registering-result-types">Registering result types</a></li>
+ <li><a href="#extending" id="markdown-toc-extending">Extending</a></li>
+</ul>
+
<h2 id="predefined-result-types">Predefined Result Types</h2>
<p>The framework provides several implementations of the <code
class="language-plaintext
highlighter-rouge">com.opensymphony.xwork2.Result</code> interface, ready to
use in your
@@ -180,7 +190,7 @@ own applications.</p>
</tr>
<tr>
<td><a href="plain-result">Plain Result</a></td>
- <td>A plain result which all you to write directly to a HttpResponse
using a simplified API (since Struts 2.6)</td>
+ <td>A plain result which all you to write directly to a HttpResponse
using a simplified API (since Struts 6.x)</td>
</tr>
<tr>
<td><a href="plaintext-result">PlainText Result</a></td>
@@ -190,10 +200,6 @@ own applications.</p>
<td><a href="../plugins/tiles/">Tiles Result</a></td>
<td>Used to provide Tiles integration</td>
</tr>
- <tr>
- <td><a href="../plugins/tiles-3/">Tiles 3 Result</a></td>
- <td>Used to provide Tiles 3 integration</td>
- </tr>
<tr>
<td><a href="postback-result">Postback Result</a></td>
<td>Used to postback request parameters as a form to the specified
destination</td>
@@ -202,17 +208,9 @@ own applications.</p>
<td><a href="../plugins/json/">JSON Result</a></td>
<td>Used to serialize actions into JSON</td>
</tr>
- </tbody>
-</table>
-
-<h2 id="optional">Optional</h2>
-
-<table>
- <tbody>
<tr>
<td><a href="../plugins/jasperreports/">JasperReports Plugin</a></td>
<td>Used for <a
href="../getting-started/jasper-reports-tutorial">JasperReports Tutorial</a>
integration</td>
- <td>Optional, third-party plugin</td>
</tr>
</tbody>
</table>
@@ -220,7 +218,40 @@ own applications.</p>
<p>Additional Result Types can be created and plugged into an application by
implementing the <code class="language-plaintext
highlighter-rouge">com.opensymphony.xwork2.Result</code>
interface. Custom Result Types might include generating an email or JMS
message, generating images, and so forth.</p>
-<h2 id="default-parameters">Default Parameters</h2>
+<h2 id="how-to-use-results">How to use results</h2>
+
+<p>Once your action has been executed it must either return a result name (as
<code class="language-plaintext highlighter-rouge">java.lang.String</code>) or
instance
+of <code class="language-plaintext
highlighter-rouge">com.opensymphony.xwork2.Result</code> and then the result
will be executed directly.</p>
+
+<p>If a String has been returned, the framework will try to find a matching
result in the configuration and then it will
+execute the result of a given type, see example:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><result</span> <span
class="na">name=</span><span class="s">"success"</span> <span
class="na">type=</span><span class="s">"dispatcher"</span><span
class="nt">></span>/WEB-INF/index.jsp<span class="nt"></result></span>
+</code></pre></div></div>
+
+<p>You can define many results per action distinguishing them by different
names:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><result</span> <span
class="na">name=</span><span class="s">"success"</span> <span
class="na">type=</span><span class="s">"dispatcher"</span><span
class="nt">></span>/WEB-INF/index.jsp<span class="nt"></result></span>
+<span class="nt"><result</span> <span class="na">name=</span><span
class="s">"input"</span> <span class="na">type=</span><span
class="s">"dispatcher"</span><span class="nt">></span>/WEB-INF/form.jsp<span
class="nt"></result></span>
+<span class="nt"><result</span> <span class="na">name=</span><span
class="s">"error"</span> <span class="na">type=</span><span
class="s">"dispatcher"</span><span
class="nt">></span>/WEB-INF/error.jsp<span class="nt"></result></span>
+</code></pre></div></div>
+
+<h2 id="default-result-type">Default result type</h2>
+
+<p>In <code class="language-plaintext
highlighter-rouge">struts-default.xml</code> the Dispatcher result type is
registered as a default result type, which means you don’t have to
+specify the <code class="language-plaintext highlighter-rouge">type</code>
attribute if you want to use it:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="nt"><result</span> <span
class="na">name=</span><span class="s">"success"</span><span
class="nt">></span>/WEB-INF/index.jsp<span class="nt"></result></span>
+</code></pre></div></div>
+
+<h2 id="default-result-name">Default result name</h2>
+
+<p>If you action method returns <code class="language-plaintext
highlighter-rouge">success</code>, which is a default name of the result, you
don’t have specify the <code class="language-plaintext
highlighter-rouge">name</code> attribute as well:</p>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span
class="nt"><result></span>/WEB-INF/index.jsp<span
class="nt"></result></span>
+</code></pre></div></div>
+
+<h2 id="default-parameters">Default parameters</h2>
<p>To minimize configuration, Results can be configured with a single value,
which will be converted into a parameter,
and each Result can specify which parameter this value should be set as. For
example, here is a result defined in XML
@@ -240,7 +271,7 @@ that uses a default parameter:</p>
a significant amount of configuration. It also follows that if you have
specified the default parameter, you don’t need
to set the same parameter as a specifically-named parameter.</p>
-<h2 id="registering-result-types">Registering Result Types</h2>
+<h2 id="registering-result-types">Registering result types</h2>
<p>All Result Types are plugged in via the <a
href="result-configuration">Result Configuration</a>.</p>
@@ -253,7 +284,7 @@ Check <a href="object-factory">Define dedicated factory</a>
to see how to do it.
<p>Struts 2 provides one such extension for you:</p>
<p><code class="language-plaintext
highlighter-rouge">ParamNameAwareResult</code> interface when used with <code
class="language-plaintext highlighter-rouge">StrutsResultBuilder</code> can
limit parameters assigned to the result.
-So you can simple extend existing result with such a functionality as
below:</p>
+So you can simply extend existing result with such a functionality as
below:</p>
<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">public</span> <span
class="kd">class</span> <span class="nc">MyResult</span> <span
class="kd">extends</span> <span class="nc">ServletDispatcherResult</span> <span
class="kd">implements</span> <span class="nc">ParamNameAwareResult</span> <span
class="o">{</span>
diff --git a/output/core-developers/stream-result.html
b/output/core-developers/stream-result.html
index afc9a563f..8b7e85e70 100644
--- a/output/core-developers/stream-result.html
+++ b/output/core-developers/stream-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/stream-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="stream-result">Stream Result</h1>
diff --git a/output/core-developers/xsl-result.html
b/output/core-developers/xsl-result.html
index 1e3db89e3..5584ec159 100644
--- a/output/core-developers/xsl-result.html
+++ b/output/core-developers/xsl-result.html
@@ -129,7 +129,7 @@
<section class="col-md-12">
<a class="edit-on-gh"
href="https://github.com/apache/struts-site/edit/master/source/core-developers/xsl-result.md"
title="Edit this page on GitHub">Edit on GitHub</a>
- <a href="index.html" title="back to Core Developers Guide"><< back to Core
Developers Guide</a>
+ <a href="result-types" title="back to Result types"><< back to Result
types</a>
<h1 id="xsl-result">XSL Result</h1>
diff --git a/output/plugins/index.html b/output/plugins/index.html
index 04f7751cd..1c5b6723d 100644
--- a/output/plugins/index.html
+++ b/output/plugins/index.html
@@ -131,9 +131,9 @@
<h1 id="plugin-developers-guide">Plugin Developers Guide</h1>
-<p>Apache Struts 2 provides a simple <a href="plugins-architecture">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 with others.
-Several plugins are bundled with the framework, and others are available from
third-party sources.</p>
+<p>Apache Struts 2 provides a simple <a href="plugins-architecture">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 with others. Several plugins are bundled with the framework, and
others are available from third-party sources.</p>
<ul>
<li><a href="plugins-architecture">Plugins Architecture</a></li>
@@ -184,7 +184,7 @@ Several plugins are bundled with the framework, and others
are available from th
<tr>
<td><a href="embedded-jsp">Embedded JSP Plugin</a></td>
<td>2.1.7+</td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="jasperreports">JasperReports Plugin</a></td>
@@ -224,27 +224,27 @@ Several plugins are bundled with the framework, and
others are available from th
<tr>
<td><a href="oval">OVal Plugin</a></td>
<td>2.1.7+</td>
- <td>deprecated since 2.6, use <a href="bean-validation">Bean Validation
Plugin</a></td>
+ <td>deprecated since 6.0.0, use <a href="bean-validation">Bean
Validation Plugin</a></td>
</tr>
<tr>
<td><a href="osgi">OSGi Plugin</a></td>
<td>2.1.7+</td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="plexus">Plexus Plugin</a></td>
<td> </td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="portlet">Portlet Plugin</a></td>
<td> </td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="portlet-tiles">Portlet Tiles Plugin</a></td>
<td>2.3.5+</td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="rest">REST Plugin</a></td>
@@ -259,7 +259,7 @@ Several plugins are bundled with the framework, and others
are available from th
<tr>
<td><a href="sitemesh">SiteMesh Plugin</a></td>
<td> </td>
- <td>deprecated since 2.6</td>
+ <td>deprecated since 6.0.0</td>
</tr>
<tr>
<td><a href="spring">Spring Plugin</a></td>
@@ -288,14 +288,15 @@ Several plugins are bundled with the framework, and
others are available from th
</tr>
<tr>
<td><a href="velocity">Velocity Plugin</a></td>
- <td>< 6.0.0</td>
+ <td> </td>
<td> </td>
</tr>
</tbody>
</table>
<blockquote>
- <p>For a complete list of bundled and third-party plugins, visit the <a
href="http://cwiki.apache.org/S2PLUGINS/Home">Plugin Registry</a>.</p>
+ <p>For a complete list of bundled and third-party plugins, visit
+the <a href="http://cwiki.apache.org/S2PLUGINS/Home">Plugin Registry</a>.</p>
</blockquote>
</section>