Updates exported docs
Project: http://git-wip-us.apache.org/repos/asf/struts-site/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-site/commit/b16cc4ef Tree: http://git-wip-us.apache.org/repos/asf/struts-site/tree/b16cc4ef Diff: http://git-wip-us.apache.org/repos/asf/struts-site/diff/b16cc4ef Branch: refs/heads/asf-site Commit: b16cc4ef7f8c59e521d2823531843a6aa133fbfb Parents: 2971311 Author: Lukasz Lenart <lukaszlen...@apache.org> Authored: Tue Sep 5 15:19:44 2017 +0200 Committer: Lukasz Lenart <lukaszlen...@apache.org> Committed: Tue Sep 5 15:19:44 2017 +0200 ---------------------------------------------------------------------- content/docs/a.html | 31 +- content/docs/action-chaining.html | 39 +- content/docs/action.html | 8 +- content/docs/actionerror.html | 2 +- content/docs/actionmapper.html | 93 +--- content/docs/actionmessage.html | 2 +- content/docs/after-annotation.html | 2 +- content/docs/ajax-validation.html | 71 +-- content/docs/alias-interceptor.html | 2 +- content/docs/annotationworkflowinterceptor.html | 6 +- content/docs/append.html | 4 +- content/docs/basic-validation.html | 115 +---- content/docs/bean.html | 2 +- content/docs/before-annotation.html | 2 +- content/docs/beforeresult-annotation.html | 2 +- content/docs/bind.html | 44 +- content/docs/chain-result.html | 2 +- content/docs/checkbox.html | 2 +- content/docs/checkboxlist.html | 2 +- content/docs/client-validation.html | 116 +---- content/docs/combobox.html | 2 +- content/docs/component.html | 2 +- content/docs/conditionalvisitor-validator.html | 2 +- content/docs/conversion-annotation.html | 2 +- content/docs/conversion-error-interceptor.html | 2 +- content/docs/conversion-validator.html | 10 +- ...onversionerrorfieldvalidator-annotation.html | 2 +- content/docs/cookie-interceptor.html | 2 +- content/docs/cookieprovider-interceptor.html | 2 +- content/docs/create-session-interceptor.html | 2 +- content/docs/createifnull-annotation.html | 2 +- content/docs/crud-demo-i.html | 181 +++---- content/docs/cssxhtml-head-template.html | 4 +- content/docs/cssxhtml-theme.html | 235 +-------- content/docs/customvalidator-annotation.html | 2 +- content/docs/date-validator.html | 2 +- content/docs/date.html | 2 +- .../daterangefieldvalidator-annotation.html | 2 +- content/docs/default-workflow-interceptor.html | 2 +- content/docs/dispatcher-result.html | 2 +- content/docs/dojo-anchor.html | 44 +- content/docs/dojo-submit.html | 50 +- content/docs/double-validator.html | 2 +- .../doublerangefieldvalidator-annotation.html | 2 +- content/docs/doubleselect.html | 2 +- content/docs/dwr-plugin.html | 31 +- content/docs/element-annotation.html | 2 +- content/docs/else.html | 2 +- content/docs/elseif.html | 2 +- content/docs/email-validator.html | 2 +- content/docs/emailvalidator-annotation.html | 2 +- content/docs/exception-interceptor.html | 2 +- content/docs/execute-and-wait-interceptor.html | 2 +- content/docs/expression-validator.html | 2 +- .../docs/expressionvalidator-annotation.html | 2 +- content/docs/fielderror.html | 2 +- content/docs/fieldexpression-validator.html | 2 +- .../fieldexpressionvalidator-annotation.html | 2 +- content/docs/file-upload-interceptor.html | 8 +- content/docs/file-upload.html | 90 +--- content/docs/file.html | 2 +- content/docs/form-tags.html | 121 +---- content/docs/form.html | 2 +- content/docs/freemarker-result.html | 18 +- content/docs/freemarker.html | 107 +--- content/docs/generator.html | 2 +- content/docs/head.html | 2 +- content/docs/hidden.html | 2 +- content/docs/httpheader-result.html | 2 +- content/docs/i18n-interceptor.html | 20 +- content/docs/i18n.html | 2 +- content/docs/if.html | 32 +- content/docs/include.html | 4 +- content/docs/inputconfig-annotation.html | 2 +- content/docs/inputtransferselect.html | 2 +- content/docs/int-validator.html | 2 +- content/docs/interceptors.html | 498 +------------------ .../docs/intrangefieldvalidator-annotation.html | 2 +- content/docs/iterator.html | 14 +- content/docs/jasperreports-plugin.html | 76 +-- content/docs/key-annotation.html | 2 +- content/docs/keyproperty-annotation.html | 2 +- content/docs/label.html | 4 +- content/docs/localization.html | 63 +-- content/docs/logger-interceptor.html | 2 +- content/docs/merge.html | 4 +- content/docs/message-store-interceptor.html | 28 +- content/docs/migration-guide.html | 5 +- content/docs/model-driven-interceptor.html | 2 +- content/docs/optgroup.html | 2 +- content/docs/optiontransferselect.html | 2 +- content/docs/param.html | 2 +- content/docs/parameter-filter-interceptor.html | 2 +- content/docs/parameters-interceptor.html | 32 +- content/docs/password.html | 4 +- content/docs/plugins.html | 67 +-- content/docs/prepare-interceptor.html | 2 +- content/docs/profiling.html | 100 +--- content/docs/property.html | 4 +- .../pure-javascript-client-side-validation.html | 24 +- content/docs/push.html | 16 +- content/docs/radio.html | 4 +- content/docs/redirect-action-result.html | 4 +- content/docs/redirect-result.html | 4 +- content/docs/regex-validator.html | 2 +- .../docs/regexfieldvalidator-annotation.html | 2 +- content/docs/required-validator.html | 2 +- .../docs/requiredfieldvalidator-annotation.html | 2 +- content/docs/requiredstring-validator.html | 2 +- .../requiredstringvalidator-annotation.html | 2 +- content/docs/reset.html | 4 +- content/docs/result-annotation.html | 39 +- content/docs/roles-interceptor.html | 2 +- content/docs/s2-049.html | 4 +- content/docs/s2-050.html | 166 +++++++ content/docs/s2-051.html | 138 +++++ content/docs/s2-052.html | 154 ++++++ content/docs/scope-interceptor.html | 76 +-- .../docs/scoped-model-driven-interceptor.html | 2 +- content/docs/security-bulletins.html | 11 +- content/docs/select.html | 4 +- content/docs/servlet-config-interceptor.html | 2 +- content/docs/set.html | 2 +- content/docs/short-validator.html | 2 +- content/docs/simple-head-template.html | 2 +- content/docs/sitegraph-plugin.html | 57 +-- content/docs/sort.html | 2 +- content/docs/static-parameters-interceptor.html | 2 +- content/docs/stream-result.html | 26 +- content/docs/stringlength-validator.html | 2 +- .../stringlengthfieldvalidator-annotation.html | 2 +- content/docs/struts-1-plugin.html | 34 +- content/docs/struts-defaultxml.html | 2 +- content/docs/strutsproperties.html | 2 +- content/docs/strutsxml-examples.html | 4 +- content/docs/subset.html | 12 +- content/docs/text.html | 86 +--- content/docs/textarea.html | 2 +- content/docs/textfield.html | 4 +- content/docs/tiles-plugin.html | 73 +-- content/docs/timer-interceptor.html | 2 +- content/docs/token-interceptor.html | 2 +- content/docs/token-session-interceptor.html | 2 +- content/docs/token.html | 2 +- content/docs/type-conversion.html | 232 ++------- content/docs/typeconversion-annotation.html | 2 +- content/docs/updownselect.html | 2 +- content/docs/url.html | 4 +- content/docs/using-field-validators.html | 205 +------- content/docs/using-non-field-validators.html | 78 +-- content/docs/using-visitor-field-validator.html | 64 +-- content/docs/validation-annotation.html | 6 +- content/docs/validation-interceptor.html | 2 +- content/docs/validation.html | 316 +----------- .../docs/validationparameter-annotation.html | 2 +- content/docs/validations-annotation.html | 69 +-- content/docs/version-notes-2513.html | 169 +++++++ content/docs/visitor-validator.html | 2 +- .../docs/visitorfieldvalidator-annotation.html | 2 +- content/docs/webxml.html | 57 +-- content/docs/xhtml-form-template.html | 4 +- content/docs/xhtml-theme.html | 368 +------------- content/docs/xsl-result.html | 49 +- 163 files changed, 1166 insertions(+), 3960 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/a.html ---------------------------------------------------------------------- diff --git a/content/docs/a.html b/content/docs/a.html index 5d215eb..5d81f53 100644 --- a/content/docs/a.html +++ b/content/docs/a.html @@ -34,20 +34,6 @@ under the License. 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 src='https://struts.apache.org/highlighter/js/shBrushCss.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; @@ -141,16 +127,13 @@ under the License. <div class="wiki-content"> <div id="ConfluenceContent"><h2 id="a-Description">Description</h2> -<p></p><p> -A tag that creates a HTML <a >.This tag supports the same attributes as the "url" tag, -including nested parameters using the "param" tag. -</p> -<div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"> -<p>While this tag can be used with the <a shape="rect" href="simple-theme.html">simple theme</a>, <a shape="rect" href="xhtml-theme.html">xhtml theme</a>, and others, it is really designed to work best with the <a shape="rect" href="ajax-theme.html">ajax theme</a>. We recommend reading the <a shape="rect" href="ajax-a-template.html">ajax a template</a> documentation for more details.</p></div></div> +<plain-text-body>{snippet:id=javadoc|javadoc=true|url=org.apache.struts2.components.Anchor}</plain-text-body> +<rich-text-body> +<p>While this tag can be used with the <a shape="rect" href="simple-theme.html">simple theme</a>, <a shape="rect" href="xhtml-theme.html">xhtml theme</a>, and others, it is really designed to work best with the <a shape="rect" href="ajax-theme.html">ajax theme</a>. We recommend reading the <a shape="rect" href="ajax-a-template.html">ajax a template</a> documentation for more details.</p></rich-text-body> <h2 id="a-Parameters">Parameters</h2> -<p><table width="100%"><tr><td colspan="6" rowspan="1"><h4>Dynamic Attributes Allowed:</h4> true</td></tr><tr><td colspan="6" rowspan="1"> </td></tr><tr><th align="left" colspan="1" rowspan="1" valign="top"><h4>Name</h4></th><th align="left" colspan="1" rowspan="1" valign="top"><h4>Required</h4></th><th align="left" colspan="1" rowspan="1" valign="top"><h4>Default</h4></th><th align="left" colspan="1" rowspan="1" valign="top"><h4>Evaluated</h4></th><th align="left" colspan="1" rowspan="1" valign="top"><h4>Type</h4></th><th align="left" colspan="1" rowspan="1" valign="top"><h4>Description</h4></th></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">accesskey</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set t he html accesskey attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">action</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The action to generate the URL for, if not using value</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">anchor</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The anchor for this URL</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">class</td><td align="left" col span="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The css class to use for element - it's an alias of cssClass attribute.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">cssClass</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The css class to use for element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">cssErrorClass</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="l eft" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The css error class to use for element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">cssErrorStyle</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The css error style definitions for element to use</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">cssStyle</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="le ft" colspan="1" rowspan="1" valign="top">The css style definitions for element to use</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">disabled</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html disabled attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">encode</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">true</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">Whether to encode parameters</td></tr><tr><td align="left" colspan="1" rowspan= "1" valign="top">errorPosition</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Define error position of form element (top|bottom)</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">escapeAmp</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">true</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">Specifies whether to escape ampersand (&) to (&amp<img align="middle" class="emoticon" src="null/icons/emoticons/wink.png" height="16" width="16" alt="" border="0"> or not</td></tr><tr><td align="left" col span="1" rowspan="1" valign="top">forceAddSchemeHostAndPort</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">Specifies whether to force the addition of scheme, host and port or not</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">href</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The URL.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">id</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" col span="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">HTML id attribute</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">includeContext</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">true</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">Whether actual context should be included in URL</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">includeParams</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">none</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspa n="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The includeParams attribute may have the value 'none', 'get' or 'all'</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">javascriptTooltip</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">Use JavaScript to generate tooltips</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">key</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the key (name, value, label) for this particular component</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">label</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Label expression used for rendering an element specific label</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">labelSeparator</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">:</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">String that will be appended to the label</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">labelpositio n</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Define label position of form element (top/left)</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">method</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The method of action to use</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">name</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan= "1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The name to set for element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">namespace</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The namespace to use</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onblur</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top"> Set the html onblu r attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onchange</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onchange attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onclick</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onclick attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">ondblclic k</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html ondblclick attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onfocus</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onfocus attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onkeydown</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onkeydown attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onkeypress</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onkeypress attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onkeyup</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan ="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onkeyup attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onmousedown</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onmousedown attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onmousemove</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onmousemove attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onmouseout</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onmouseout attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onmouseover</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onmouseover attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan ="1" valign="top">onmouseup</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onmouseup attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">onselect</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html onselect attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">openTemplate</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align= "left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set template to use for opening the rendered html.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">portletMode</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The resulting portlet mode</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">portletUrlType</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan= "1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Specifies if this should be a portlet render or action URL. Default is "render". To create an action URL, use "action".</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">requiredLabel</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Boolean</td><td align="left" colspan="1" rowspan="1" valign="top">If set to true, the rendered element will indicate that input is required</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">requiredPosition</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan= "1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Define required position of required form element (left|right)</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">scheme</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set scheme attribute</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">style</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The css style definitions for element to use - it's an alias of cssStyle attribute.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tabindex</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html tabindex attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">template</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The template (other than default) to use for rendering the element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">templateDir</t d><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The template directory.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">theme</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The theme (other than default) to use for rendering the element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">title</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" c olspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the html title attribute on rendered html element</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tooltip</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Set the tooltip of this particular component</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tooltipConfig</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align=" left" colspan="1" rowspan="1" valign="top">Deprecated. Use individual tooltip configuration attributes instead.</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tooltipCssClass</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">StrutsTTClassic</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">CSS class applied to JavaScrip tooltips</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tooltipDelay</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">Classic</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Delay in milliseconds, before showing Ja vaScript tooltips </td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">tooltipIconPath</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">Icon path used for image that will have the tooltip</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">value</td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The target value to use, if not using action</td></tr><tr><td align="left" colspan="1" rowspan="1" valign="top">windowState</td><td align="left" colsp an="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top"></td><td align="left" colspan="1" rowspan="1" valign="top">false</td><td align="left" colspan="1" rowspan="1" valign="top">String</td><td align="left" colspan="1" rowspan="1" valign="top">The resulting portlet window state</td></tr></table></p> +<plain-text-body>{snippet:id=tagattributes|javadoc=false|url=struts2-tags/a.html}</plain-text-body> <h2 id="a-Usage">Usage</h2> @@ -158,8 +141,7 @@ including nested parameters using the "param" tag. <p> <br clear="none"> If you want to use additional parameters in your s:a the best practice is to use a s:url to create your url and then leverage this url into your s:a tag. This is done by creating a s:url and specifying an id attribute.. like "testUrlId" in this example. Then in the s:a tag reference this id in the href attribute via " %{testUrlId}"</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: html; gutter: false; theme: Default" style="font-size:12px;"> +<parameter ac:name="">html</parameter><plain-text-body> <s:url var="testUrlId" namespace="/subscriber" action="customField" method="delete"> <s:param name="customFieldDefinition.id" value="${id}"/> </s:url> @@ -168,8 +150,7 @@ If you want to use additional parameters in your s:a the best practice is to use </s:a> <img xsrc="<s:url value="/images/delete.gif"/>" border="none"/><s:a><img xsrc="<s:url value="/images/delete.gif"/>" border="none"/></s:a> -</pre> -</div></div></div> +</plain-text-body></div> </div> http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/action-chaining.html ---------------------------------------------------------------------- diff --git a/content/docs/action-chaining.html b/content/docs/action-chaining.html index a0fcfa6..3a489af 100644 --- a/content/docs/action-chaining.html +++ b/content/docs/action-chaining.html @@ -34,20 +34,6 @@ under the License. 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 src='https://struts.apache.org/highlighter/js/shBrushCss.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; @@ -139,30 +125,7 @@ under the License. <div class="pagecontent"> <div class="wiki-content"> - <div id="ConfluenceContent"><p>The framework provides the ability to chain multiple actions into a defined sequence or workflow. This feature works by applying a <a shape="rect" href="chain-result.html">Chain Result</a> to a given Action, and intercepting its target Action's invocation with a <a shape="rect" href="chaining-interceptor.html">Chaining Interceptor</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Don't Try This at Home</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>As a rule, Action Chaining is not recommended. First explore other options, such as the <a shape="rect" href="redirect-after-post.html">Redirect After Post</a> technique.</p></div></div><h2 id="ActionChaining-ChainResult">Chain Result</h2><p>The <a shape="rect" href="chain-result.html">Chain Result</a> is a result type that invokes an Action w ith its own Interceptor Stack and Result. This Interceptor allows an Action to forward requests to a target Action, while propagating the state of the source Action. Below is an example of how to define this sequence.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ -<package name="public" extends="struts-default"> - <!-- Chain creatAccount to login, using the default parameter --> - <action name="createAccount" class="..."> - <result type="chain">login</result> - </action> - - <action name="login" class="..."> - <!-- Chain to another namespace --> - <result type="chain"> - <param name="actionName">dashboard</param> - <param name="namespace">/secure</param> - </result> - </action> -</package> - -<package name="secure" extends="struts-default" namespace="/secure"> - <action name="dashboard" class="..."> - <result>dashboard.jsp</result> - </action> -</package> -]]></script> -</div></div><p>Another action mapping in the same namespace (or the default "" namespace) can be executed after this action mapping (see <a shape="rect" href="configuration-files.html">Configuration Files</a>). An optional "namespace" parameter may also be added to specify an action in a different namespace.</p><h2 id="ActionChaining-ChainingInterceptor">Chaining Interceptor</h2><p>If you need to copy the properties from your previous Actions in the chain to the current action, you should apply the <a shape="rect" href="chaining-interceptor.html">Chaining Interceptor</a>. The Interceptor will copy the original parameters from the request, and the ValueStack is passed in to the target Action. The source Action is remembered by the ValueStack, allowing the target Action to access the properties of the preceding Action(s) using the ValueStack, and also makes these properties available to the final result of the chain, such as the JSP or Velocity page.</p><p>One common use of Action cha ining is to provide lookup lists (like for a dropdown list of states). Since these Actions get put on the ValueStack, their properties will be available in the view. This functionality can also be done using the ActionTag to execute an Action from the display page. You may also use the <a shape="rect" href="redirect-action-result.html">Redirect Action Result</a> to accomplish this.</p><h3 id="ActionChaining-Usewithcare">Use with care</h3><p>Experience shows that chaining should be used with care. If chaining is overused, an application can turn into "spaghetti code". Actions should be treated as a <a shape="rect" class="external-link" href="http://martinfowler.com/eaaCatalog/transactionScript.html" rel="nofollow">Transaction Script</a>, rather than as methods in a <a shape="rect" class="external-link" href="http://msdn2.microsoft.com/en-us/library/aa291571(VS.71).aspx" rel="nofollow">Business Facade</a>. Be sure to ask yourself why you need to chain from one Action to another. Is a navigational issue, or could the logic in Action2 be pushed back to a support class or business facade so that Action1 can call it too?</p><p>Ideally, Action classes should be as short as possible. All the core logic should be pushed back to a support class or a business facade, so that Actions only call methods. Actions are best used as adapters, rather than as a class where coding logic is defined.</p><h2 id="ActionChaining-Next:">Next: <a shape="rect" href="result-types.html">Result Types</a></h2></div> + <div id="ConfluenceContent"><p>The framework provides the ability to chain multiple actions into a defined sequence or workflow. This feature works by applying a <a shape="rect" href="chain-result.html">Chain Result</a> to a given Action, and intercepting its target Action's invocation with a <a shape="rect" href="chaining-interceptor.html">Chaining Interceptor</a>.</p><parameter ac:name="title">Don't Try This at Home</parameter><rich-text-body><p>As a rule, Action Chaining is not recommended. First explore other options, such as the <a shape="rect" href="redirect-after-post.html">Redirect After Post</a> technique.</p></rich-text-body><h2 id="ActionChaining-ChainResult">Chain Result</h2><p>The <a shape="rect" href="chain-result.html">Chain Result</a> is a result type that invokes an Action with its own Interceptor Stack and Result. This Interceptor allows an Action to forward requests to a target Action, while propagating the state of the source Action. Below is an examp le of how to define this sequence.</p><plain-text-body>{snippet:id=example|lang=xml|javadoc=true|url=com.opensymphony.xwork2.ActionChainResult}</plain-text-body><p>Another action mapping in the same namespace (or the default "" namespace) can be executed after this action mapping (see <a shape="rect" href="configuration-files.html">Configuration Files</a>). An optional "namespace" parameter may also be added to specify an action in a different namespace.</p><h2 id="ActionChaining-ChainingInterceptor">Chaining Interceptor</h2><p>If you need to copy the properties from your previous Actions in the chain to the current action, you should apply the <a shape="rect" href="chaining-interceptor.html">Chaining Interceptor</a>. The Interceptor will copy the original parameters from the request, and the ValueStack is passed in to the target Action. The source Action is remembered by the ValueStack, allowing the target Action to access the properties of the preceding Action(s) using the ValueSt ack, and also makes these properties available to the final result of the chain, such as the JSP or Velocity page.</p><p>One common use of Action chaining is to provide lookup lists (like for a dropdown list of states). Since these Actions get put on the ValueStack, their properties will be available in the view. This functionality can also be done using the ActionTag to execute an Action from the display page. You may also use the <a shape="rect" href="redirect-action-result.html">Redirect Action Result</a> to accomplish this.</p><h3 id="ActionChaining-Usewithcare">Use with care</h3><p>Experience shows that chaining should be used with care. If chaining is overused, an application can turn into "spaghetti code". Actions should be treated as a <a shape="rect" class="external-link" href="http://martinfowler.com/eaaCatalog/transactionScript.html" rel="nofollow">Transaction Script</a>, rather than as methods in a <a shape="rect" class="external-link" href="http://msdn2.microsoft.com/en -us/library/aa291571(VS.71).aspx" rel="nofollow">Business Facade</a>. Be sure to ask yourself why you need to chain from one Action to another. Is a navigational issue, or could the logic in Action2 be pushed back to a support class or business facade so that Action1 can call it too?</p><p>Ideally, Action classes should be as short as possible. All the core logic should be pushed back to a support class or a business facade, so that Actions only call methods. Actions are best used as adapters, rather than as a class where coding logic is defined.</p><h2 id="ActionChaining-Next:">Next: <a shape="rect" href="result-types.html">Result Types</a></h2></div> </div> http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/action.html ---------------------------------------------------------------------- diff --git a/content/docs/action.html b/content/docs/action.html index 8ac1e84..979ae59 100644 --- a/content/docs/action.html +++ b/content/docs/action.html @@ -153,7 +153,7 @@ for this action in struts.xml will be ignored, <i>unless</i> the executeResult p <p>The action will not be published to the context until the whole tag is evaluated, meaning that inside the body of the tag, the action cannot be accessed, For example:</p> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;"> +<pre class="brush: bash; gutter: false; theme: Confluence" style="font-size:12px;"> <s:action var="myAction" name="MyAction" namespace="/"> Is "myAction" null inside the tag? <s:property value="#myAction == null" /> </s:action> @@ -172,7 +172,7 @@ Is "myAction" null outside the tag? false</p> <h2 id="action-Examples">Examples</h2> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: java; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ public class ActionTagAction extends ActionSupport { public String execute() throws Exception { @@ -187,7 +187,7 @@ public class ActionTagAction extends ActionSupport { ]]></script> </div></div> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: xml; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ <xwork> .... <action name="actionTagAction1" class="tmjee.testing.ActionTagAction"> @@ -201,7 +201,7 @@ public class ActionTagAction extends ActionSupport { ]]></script> </div></div> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: xml; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ <span>The following action tag will execute result and include it in this page</span> <br> <s:action name="actionTagAction" executeResult="true" /> http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/actionerror.html ---------------------------------------------------------------------- diff --git a/content/docs/actionerror.html b/content/docs/actionerror.html index 7a468a0..ead91d5 100644 --- a/content/docs/actionerror.html +++ b/content/docs/actionerror.html @@ -154,7 +154,7 @@ strings will be html escaped by default.</p> <h2 id="actionerror-Examples">Examples</h2> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: xml; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ <s:actionerror /> <s:form .... > http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/actionmapper.html ---------------------------------------------------------------------- diff --git a/content/docs/actionmapper.html b/content/docs/actionmapper.html index 92f26ec..b84fb21 100644 --- a/content/docs/actionmapper.html +++ b/content/docs/actionmapper.html @@ -34,20 +34,6 @@ under the License. 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 src='https://struts.apache.org/highlighter/js/shBrushCss.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; @@ -139,89 +125,27 @@ under the License. <div class="pagecontent"> <div class="wiki-content"> - <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1499928310561 {padding: 0px;} -div.rbtoc1499928310561 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1499928310561 li {margin-left: 0px;padding-left: 0px;} - -/*]]>*/</style></p><div class="toc-macro rbtoc1499928310561"> -<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><li><a shape="rect" href="#ActionMapper-AllowedactionnameRegEx">Allowed action name RegEx</a></li><li><a shape="rect" href="#ActionMapper-AllowedmethodnameRegEx">Allowed method name RegEx</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> -<ul class="toc-indentation"><li><a shape="rect" href="#ActionMapper-Customize">Customize</a></li></ul> -</li><li><a shape="rect" href="#ActionMapper-Next:ActionProxy&ActionProxyFactory">Next: Action Proxy & ActionProxy Factory</a></li></ul> -</div><h2 id="ActionMapper-Description">Description</h2><p>The ActionMapper interface provides a mapping between HTTP requests and action invocation requests and vice-versa.</p><p>When given an HttpServletRequest, the ActionMapper may return null if no action invocation request matches or it may return an {{ActionMapping}} that describes an action invocation for the framework to try.</p><p>The ActionMapper is not required to guarantee that the {{ActionMapping}} returned be a real action or otherwise ensure a valid request. Accordingly, most ActionMappers do not need to consult the Struts configuration just to determine if a request should be mapped.</p><p>Just as requests can be mapped from HTTP to an action invocation, the opposite is true as well. However, because HTTP requests (when shown in HTTP responses) must be in String form, a String is returned rather than an actual request object.</p><h2 id="ActionMapper-DefaultActionMapper">DefaultActionMapp er</h2><p>Default action mapper implementation, using the standard <code>*.[ext]</code> (where ext usually <strong>action</strong>) pattern. The extension is looked up from the Struts configuration key {<b>{struts.action.extension}}.</p><p>To help with dealing with buttons and other related requirements, this mapper (and other {{ActionMapper}}s, we hope) has the ability to name a button with some predefined prefix and have that button name alter the execution behaviour. The four prefixes are:</p><ul style="list-style-type: square;"><li>Method prefix - <code>method:default</code></li><li>Action prefix - <code>action:dashboard</code></li></ul><p>In addition to these four prefixes, this mapper also understands the action naming pattern of <code>foo!bar</code> in either the extension form (eg: <code>foo!bar.action</code>) or in the prefix form (eg: <code>action:foo!bar</code>). This syntax tells this mapper to map to the action named <code>foo</code> and the method <code>bar</code>.</p><h3 id="ActionMapper-Methodprefix">Method prefix</h3><p>With method-prefix, instead of calling baz action's <code>execute()</code> method (by default if it isn't overridden in <code>struts.xml</code> to be something else), the baz action's <code>anotherMethod()</code> will be called. A very elegant way determine which button is clicked. Alternatively, one would have submit button set a particular value on the action when clicked, and the <code>execute()</code> method decides on what to do with the setted value depending on which button is clicked.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><!-- START SNIPPET: method-example --> + <div id="ConfluenceContent"><p><parameter ac:name="maxLevel">3</parameter><parameter ac:name="minLevel">2</parameter></p><h2 id="ActionMapper-Description">Description</h2><p>The ActionMapper interface provides a mapping between HTTP requests and action invocation requests and vice-versa.</p><p>When given an HttpServletRequest, the ActionMapper may return null if no action invocation request matches or it may return an {{ActionMapping}} that describes an action invocation for the framework to try.</p><p>The ActionMapper is not required to guarantee that the {{ActionMapping}} returned be a real action or otherwise ensure a valid request. Accordingly, most ActionMappers do not need to consult the Struts configuration just to determine if a request should be mapped.</p><p>Just as requests can be mapped from HTTP to an action invocation, the opposite is true as well. However, because HTTP requests (when shown in HTTP responses) must be in String form,  a String is returned rather than an actual request object.</p><h2 id="ActionMapper-DefaultActionMapper">DefaultActionMapper</h2><p>Default action mapper implementation, using the standard <code>*.[ext]</code> (where ext usually <strong>action</strong>) pattern. The extension is looked up from the Struts configuration key {<b>{struts.action.extension}}.</p><p>To help with dealing with buttons and other related requirements, this mapper (and other {{ActionMapper}}s, we hope) has the ability to name a button with some predefined prefix and have that button name alter the execution behaviour. The four prefixes are:</p><ul style="list-style-type: square;"><li>Method prefix - <code>method:default</code></li><li>Action prefix - <code>action:dashboard</code></li></ul><p>In addition to these four prefixes, this mapper also understands the action naming pattern of <code>foo!bar</code> in either the extension form (eg: <code>fo o!bar.action</code>) or in the prefix form (eg: <code>action:foo!bar</code>). This syntax tells this mapper to map to the action named <code>foo</code> and the method <code>bar</code>.</p><h3 id="ActionMapper-Methodprefix">Method prefix</h3><p>With method-prefix, instead of calling baz action's <code>execute()</code> method (by default if it isn't overridden in <code>struts.xml</code> to be something else), the baz action's <code>anotherMethod()</code> will be called. A very elegant way determine which button is clicked. Alternatively, one would have submit button set a particular value on the action when clicked, and the <code>execute()</code> method decides on what to do with the setted value depending on which button is clicked.</p><parameter ac:name="">xml</parameter><plain-text-body><!-- START SNIPPET: method-example --> <s:form action="baz"> <s:textfield label="Enter your name" name="person.name"/> <s:submit value="Create person"/> <s:submit method="anotherMethod" value="Cancel"/> </s:form> -<!-- END SNIPPET: method-example --></pre> -</div></div><h3 id="ActionMapper-Actionprefix">Action prefix</h3><p>With action-prefix, instead of executing baz action's <code>execute()</code> method (by default if it isn't overridden in struts.xml to be something else), the anotherAction action's <code>execute()</code> method (assuming again if it isn't overridden with something else in <code>struts.xml</code>) will be executed.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><!-- START SNIPPET: action-example --> +<!-- END SNIPPET: method-example --></plain-text-body><h3 id="ActionMapper-Actionprefix">Action prefix</h3><p>With action-prefix, instead of executing baz action's <code>execute()</code> method (by default if it isn't overridden in struts.xml to be something else), the anotherAction action's <code>execute()</code> method (assuming again if it isn't overridden with something else in <code>struts.xml</code>) will be executed.</p><parameter ac:name="">xml</parameter><plain-text-body><!-- START SNIPPET: action-example --> <s:form action="baz"> <s:textfield label="Enter your name" name="person.name"/> <s:submit value="Create person"/> <s:submit action="anotherAction" value="Cancel"/> </s:form> -<!-- END SNIPPET: action-example --></pre> -</div></div><h3 id="ActionMapper-AllowedactionnameRegEx">Allowed action name RegEx</h3><p>By default the mapper will check if extracted action name matches provided RegEx, i.e. <code>[a-zA-Z0-9._!/\-]*</code>. You redefine this RegEx by defining a constant in <code>struts.xml</code> named <code>struts.allowed.action.names</code>. If action name doesn't match the RegEx a default action name will be returned which is defined as <code>index</code>. You can also redefine this by specifying constant <code>struts.default.action.name</code> in <code>struts.xml</code></p><h3 id="ActionMapper-AllowedmethodnameRegEx">Allowed method name RegEx</h3><p>The same logic as above is used for extracted methods, the default RegEx <code>(</code><code>[a-zA-Z_]*[0-9]*)</code> is used to check if method is allowed, you can change this by setting constant <code>struts.allowed.method.names</code> in <code>struts.xml</code>. If method doesn't match the RegEx a default method is returned, i.e. <code>execute</code>. This can be changed by defining constant <code>struts.default.method.name</code> in <code>struts.xml</code>.</p><p>Please note that this funcionallity only works when <a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/Action+Configuration#ActionConfiguration-DynamicMethodInvocation">Dynamic Method Invocation</a> is enabled.</p><h2 id="ActionMapper-CustomActionMapper">Custom ActionMapper</h2><p>You can define your own ActionMapper by implementing <code>org.apache.struts2.dispatcher.mapper.ActionMapper</code> then configuring Struts 2 to use the new class in struts.xml</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" class="com.mycompany.myapp.MyActionMapper" /> +<!-- END SNIPPET: action-example --></plain-text-body><h3 id="ActionMapper-AllowedactionnameRegEx">Allowed action name RegEx</h3><p>By default the mapper will check if extracted action name matches provided RegEx, i.e. <code>[a-zA-Z0-9._!/\-]*</code>. You redefine this RegEx by defining a constant in <code>struts.xml</code> named <code>struts.allowed.action.names</code>. If action name doesn't match the RegEx a default action name will be returned which is defined as <code>index</code>. You can also redefine this by specifying constant <code>struts.default.action.name</code> in <code>struts.xml</code></p><h3 id="ActionMapper-AllowedmethodnameRegEx">Allowed method name RegEx</h3><p>The same logic as above is used for extracted methods, the default RegEx <code>(</code><code>[a-zA-Z_]*[0-9]*)</code> is used to check if method is allowed, you can change this by setting constant <code>struts.allowed.method.names</code> in <code>struts.xml</co de>. If method doesn't match the RegEx a default method is returned, i.e. <code>execute</code>. This can be changed by defining constant <code>struts.default.method.name</code> in <code>struts.xml</code>.</p><p>Please note that this funcionallity only works when <a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/Action+Configuration#ActionConfiguration-DynamicMethodInvocation">Dynamic Method Invocation</a> is enabled.</p><h2 id="ActionMapper-CustomActionMapper">Custom ActionMapper</h2><p>You can define your own ActionMapper by implementing <code>org.apache.struts2.dispatcher.mapper.ActionMapper</code> then configuring Struts 2 to use the new class in struts.xml</p><parameter ac:name="lang">xml</parameter><plain-text-body><bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" class="com.mycompany.myapp.MyActionMapper" /> <constant name="struts.mapper.class" value="mymapper" /> -</pre> -</div></div><p>Possible uses of the ActionMapper include defining your own, cleaner namespaces, such as URLs like <strong>/person/1</strong>, which would be similar to a request to <strong>/getPerson.action?personID=1</strong> using the DefaultActionMapper.</p><h2 id="ActionMapper-CompositeActionMapper">CompositeActionMapper</h2><p>A composite action mapper that is capable of delegating to a series of <a shape="rect" href="actionmapper.html">ActionMapper</a> if the former failed to obtained a valid <a shape="rect" class="createlink" href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ActionMapping&linkCreation=true&fromPageId=14128">ActionMapping</a> or uri.</p><p>It is configured through <a shape="rect" href="strutsxml.html">struts.xml</a>. For example, with the following entries in struts.xml</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><constant name="struts.mapper.class" value="composite" /> +</plain-text-body><p>Possible uses of the ActionMapper include defining your own, cleaner namespaces, such as URLs like <strong>/person/1</strong>, which would be similar to a request to <strong>/getPerson.action?personID=1</strong> using the DefaultActionMapper.</p><h2 id="ActionMapper-CompositeActionMapper">CompositeActionMapper</h2><p>A composite action mapper that is capable of delegating to a series of <a shape="rect" href="actionmapper.html">ActionMapper</a> if the former failed to obtained a valid <a shape="rect" class="createlink" href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&title=ActionMapping&linkCreation=true&fromPageId=14128">ActionMapping</a> or uri.</p><p>It is configured through <a shape="rect" href="strutsxml.html">struts.xml</a>. For example, with the following entries in struts.xml</p><parameter ac:name="">xml</parameter><plain-text-body><constant name="struts.mapper.class" value="composite" /> <constant name="struts.mapper.composite" value="struts,restful,restful2" /> -</pre> -</div></div><p>When <code>CompositeActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> or <code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code> is invoked, <code>CompositeActionMapper</code> would go through these <a shape="rect" href="actionmapper.html">ActionMapper</a>s in sequence starting from <a shape="rect" href="actionmapper.html">ActionMapper</a> identified by <code>struts.mapper.composite.1</code>, followed by <code>struts.mapper.composite.2</code> and finally <code>struts.mapper.composite.3</code> (in this case) until either one of the <a shape="rect" href="actionmapper.html">ActionMapper</a> return a valid result (not null) or it runs out of <a shape="rect" href="actionmapper.html">ActionMapper</a> in which case it will just return null for both <code>CompositeActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> and <code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code> methods.</p><p>For exam ple with the following in struts.xml:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><constant name="struts.mapper.class" value="composite" /> +</plain-text-body><p>When <code>CompositeActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> or <code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code> is invoked, <code>CompositeActionMapper</code> would go through these <a shape="rect" href="actionmapper.html">ActionMapper</a>s in sequence starting from <a shape="rect" href="actionmapper.html">ActionMapper</a> identified by <code>struts.mapper.composite.1</code>, followed by <code>struts.mapper.composite.2</code> and finally <code>struts.mapper.composite.3</code> (in this case) until either one of the <a shape="rect" href="actionmapper.html">ActionMapper</a> return a valid result (not null) or it runs out of <a shape="rect" href="actionmapper.html">ActionMapper</a> in which case it will just return null for both <code>CompositeActionMapper#getMapping(HttpServletRequest, ConfigurationManager)</code> and <code>CompositeActionMapper#getUriFromActionMapping(ActionMapping)</code> methods.</p><p>Fo r example with the following in struts.xml:</p><parameter ac:name="">xml</parameter><plain-text-body><constant name="struts.mapper.class" value="composite" /> <constant name="struts.mapper.composite" value="struts,restful" /> -</pre> -</div></div><p><code>CompositeActionMapper</code> will be configured with 2 ActionMapper, namely "struts" which is <code>org.apache.struts2.dispatcher.mapper.DefaultActionMapper</code> and "restful" which is <code>org.apache.struts2.dispatcher.mapper.RestfulActionMapperRestfulActionMapper</code>. <code>CompositeActionMapper</code> would consult each of them in order described above.</p><h2 id="ActionMapper-PrefixBasedActionMapper">PrefixBasedActionMapper</h2><p></p><p></p><p> -A prefix based action mapper that is capable of delegating to other ActionMappers based on the request's prefix.<br clear="none"> -It is configured through struts.xml<br clear="none"> -For example, with the following entries in struts.properties -</p> - -<p></p><pre> -<constant name="struts.mapper.class" value="org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper"/> -<constant name="struts.mapper.prefixMapping" value="/communities:pseudoRestful,/communityTags:pseudoRestful,/events:pseudoRestful,/mediaList:pseudoRestful,/users:pseudoRestful,/community:struts,/communityTag:struts,/event:struts,/media:struts,/user:struts,:struts"/> -</pre> - -<p></p><p> -When {@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} or -PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping) is invoked, -PrefixBasedActionMapper will check each possible prefix (url prefix terminating just before a /) to find the most specific ActionMapper that returns a mapping when asked to map the request. If none are found, null is returned for both -{@link PrefixBasedActionMapper#getMapping(HttpServletRequest, ConfigurationManager)} and -PrefixBasedActionMapper#getUriFromActionMapping(ActionMapping) methods. -</p> -<h4 id="ActionMapper-PrefixBasedActionProxyFactory">PrefixBasedActionProxyFactory</h4><p></p><p></p><p> -Prefix based factory should be used with org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper -to use appropriate com.opensymphony.xwork2.ActionProxyFactory connected with given -org.apache.struts2.dispatcher.mapper.ActionMapper -</p> - -<p></p><p> -Add below entry to struts.xml to enable the factory: -</p> - -<p></p><pre> -<constant name="struts.actionProxyFactory" value="prefix"/> -</pre> - -<p></p><p> -The factory will use the same set of patterns as defined with: -</p> - -<p></p><pre> -<constant name="struts.mapper.prefixMapping" value="..."/> -</pre><h2 id="ActionMapper-ActionMapperandActionMappingobjects">ActionMapper and ActionMapping objects</h2><p>The ActionMapper fetches the ActionMapping object corresponding to a given request. Essentially, the ActionMapping is a data transfer object that collects together details such as the Action class and method to execute. The mapping is utilized by the Dispatcher and various user interface components. It is customizable through <code>struts.mapper.class</code> entry in <code>struts.properties</code> or <code>struts.xml</code>. Note that the value of this constant is the name of the bean of the new mapper.</p><h3 id="ActionMapper-Customize">Customize</h3><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Custom ActionMapper must implement ActionMapper interface and have a default constructor.</p></div></d iv><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;"><bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" class="com.mycompany.myapp.MyActionMapper" /> +</plain-text-body><p><code>CompositeActionMapper</code> will be configured with 2 ActionMapper, namely "struts" which is <code>org.apache.struts2.dispatcher.mapper.DefaultActionMapper</code> and "restful" which is <code>org.apache.struts2.dispatcher.mapper.RestfulActionMapperRestfulActionMapper</code>. <code>CompositeActionMapper</code> would consult each of them in order described above.</p><h2 id="ActionMapper-PrefixBasedActionMapper">PrefixBasedActionMapper</h2><p><plain-text-body>{snippet:id=description|javadoc=true|url=org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper}</plain-text-body></p><h4 id="ActionMapper-PrefixBasedActionProxyFactory">PrefixBasedActionProxyFactory</h4><p><plain-text-body>{snippet:id=description|javadoc=true|url=org.apache.struts2.factory.PrefixBasedActionProxyFactory}</plain-text-body></p><h2 id="ActionMapper-ActionMapperandActionMappingobjects">ActionMapper and ActionMapping objects</h2><p>The ActionMapper fetches the ActionMapping object corr esponding to a given request. Essentially, the ActionMapping is a data transfer object that collects together details such as the Action class and method to execute. The mapping is utilized by the Dispatcher and various user interface components. It is customizable through <code>struts.mapper.class</code> entry in <code>struts.properties</code> or <code>struts.xml</code>. Note that the value of this constant is the name of the bean of the new mapper.</p><h3 id="ActionMapper-Customize">Customize</h3><rich-text-body><p>Custom ActionMapper must implement ActionMapper interface and have a default constructor.</p></rich-text-body><parameter ac:name="lang">xml</parameter><plain-text-body><bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="mymapper" class="com.mycompany.myapp.MyActionMapper" /> <constant name="struts.mapper.class" value="mymapper" /> -</pre> -</div></div><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">public class MyCustomActionMapper implements ActionMapper { +</plain-text-body><parameter ac:name="language">java</parameter><plain-text-body>public class MyCustomActionMapper implements ActionMapper { public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) { .... @@ -231,8 +155,7 @@ The factory will use the same set of patterns as defined with: .... } } -</pre> -</div></div><p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> See also: <a shape="rect" href="restfulactionmapper.html">RestfulActionMapper</a></p><h2 id="ActionMapper-Next:ActionProxy&ActionProxyFactory">Next: <a shape="rect" href="action-proxy-actionproxy-factory.html">Action Proxy & ActionProxy Factory</a></h2></div> +</plain-text-body><p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> See also: <a shape="rect" href="restfulactionmapper.html">RestfulActionMapper</a></p><h2 id="ActionMapper-Next:ActionProxy&ActionProxyFactory">Next: <a shape="rect" href="action-proxy-actionproxy-factory.html">Action Proxy & ActionProxy Factory</a></h2></div> </div> <div class="tabletitle"> http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/actionmessage.html ---------------------------------------------------------------------- diff --git a/content/docs/actionmessage.html b/content/docs/actionmessage.html index f4bbfa3..249b718 100644 --- a/content/docs/actionmessage.html +++ b/content/docs/actionmessage.html @@ -154,7 +154,7 @@ strings will be html escaped by default.</p> <h2 id="actionmessage-Examples">Examples</h2> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: xml; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ <s:actionmessage /> <s:form .... > .... http://git-wip-us.apache.org/repos/asf/struts-site/blob/b16cc4ef/content/docs/after-annotation.html ---------------------------------------------------------------------- diff --git a/content/docs/after-annotation.html b/content/docs/after-annotation.html index 3896e98..940f730 100644 --- a/content/docs/after-annotation.html +++ b/content/docs/after-annotation.html @@ -156,7 +156,7 @@ executed. Return value is ignored.</p> <h2 id="AfterAnnotation-Examples">Examples</h2> <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ +<script class="brush: java; gutter: false; theme: Confluence" type="syntaxhighlighter"><![CDATA[ public class SampleAction extends ActionSupport { @After