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 21ad1cc Updates production by Jenkins 21ad1cc is described below commit 21ad1cc4189417f55ac587fe9b04bb20e2759997 Author: jenkins <bui...@apache.org> AuthorDate: Wed Jan 16 08:01:07 2019 +0000 Updates production by Jenkins --- content/{announce.html => announce-2018.html} | 2 +- content/announce.html | 234 +++--------------------- content/core-developers/interceptors.html | 7 +- content/core-developers/struts-default-xml.html | 7 +- content/download.html | 84 ++++----- content/index.html | 22 +-- content/releases.html | 2 +- content/tag-developers/css-xhtml-theme.html | 18 +- content/tag-developers/xhtml-theme.html | 24 +-- 9 files changed, 106 insertions(+), 294 deletions(-) diff --git a/content/announce.html b/content/announce-2018.html similarity index 99% copy from content/announce.html copy to content/announce-2018.html index 46f662f..a768e3b 100644 --- a/content/announce.html +++ b/content/announce-2018.html @@ -125,7 +125,7 @@ <article class="container"> <section class="col-md-12"> - <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce.md" title="Edit this page on GitHub">Edit on GitHub</a> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce-2018.md" title="Edit this page on GitHub">Edit on GitHub</a> <h1 class="no_toc" id="announcements-2018">Announcements 2018</h1> diff --git a/content/announce.html b/content/announce.html index 46f662f..8514feb 100644 --- a/content/announce.html +++ b/content/announce.html @@ -7,7 +7,7 @@ <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <title>Announcements 2018</title> + <title>Announcements 2019</title> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> @@ -127,63 +127,20 @@ <section class="col-md-12"> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 class="no_toc" id="announcements-2018">Announcements 2018</h1> + <h1 class="no_toc" id="announcements-2019">Announcements 2019</h1> <ul id="markdown-toc"> - <li><a href="#a20181114" id="markdown-toc-a20181114">14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement</a></li> - <li><a href="#a20181015-2" id="markdown-toc-a20181015-2">15 October 2018 - Struts 2.3.36 General Availability</a></li> - <li><a href="#a20181015-1" id="markdown-toc-a20181015-1">15 October 2018 - Struts 2.5.18 General Availability</a></li> - <li><a href="#a20180822-0" id="markdown-toc-a20180822-0">22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</a></li> - <li><a href="#a20180822-1" id="markdown-toc-a20180822-1">22 August 2018 - Struts 2.5.17 General Availability</a></li> - <li><a href="#a20180822-2" id="markdown-toc-a20180822-2">22 August 2018 - Struts 2.3.35 General Availability</a></li> - <li><a href="#a20180327" id="markdown-toc-a20180327">27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin</a></li> - <li><a href="#a20180323" id="markdown-toc-a20180323">23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3</a></li> - <li><a href="#a20180316" id="markdown-toc-a20180316">16 March 2018 - Struts 2.5.16 General Availability</a></li> + <li><a href="#a20190114" id="markdown-toc-a20190114">14 January 2019 - Struts 2.5.20 General Availability</a></li> + <li><a href="#a20181230" id="markdown-toc-a20181230">30 December 2018 - Struts 2.3.37 General Availability</a></li> </ul> <p class="pull-right"> - Skip to: <a href="announce-2017.html">Announcements - 2017</a> + Skip to: <a href="announce-2018.html">Announcements - 2018</a> </p> -<h4 id="a20181114">14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement</h4> +<h4 id="a20190114">14 January 2019 - Struts 2.5.20 General Availability</h4> -<p>The Apache Struts Project Team would like to inform you that the Struts 2.3.x web framework will reach -its end of life in 6 months and won’t be longer officially supported.</p> - -<p>Please check the following reading to find more details.</p> - -<ul> - <li><a href="struts23-eol-announcement">Apache Struts 2.3.x EOL Announcement</a>, including a detailed Q/A section</li> -</ul> - -<h4 id="a20181015-2">15 October 2018 - Struts 2.3.36 General Availability</h4> - -<p>The Apache Struts group is pleased to announce that Struts 2.3.36 is available as a “General Availability” -release. The GA designation is our highest quality grade.</p> - -<p>This release addresses one backward compatibility issue:</p> - -<ul> - <li><a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">xml-validation fails since struts 2.5.17</a></li> -</ul> - -<p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. -The framework is designed to streamline the full development cycle, from building, to deploying, -to maintaining applications over time.</p> - -<p><strong>All developers are strongly advised to perform this action.</strong></p> - -<p>The 2.3.x series of the Apache Struts framework has a minimum requirement of the following specification versions: -Servlet API 2.4, JSP API 2.0, and Java 6.</p> - -<p>Should any issues arise with your use of any version of the Struts framework, please post your comments -to the user list, and, if appropriate, file a tracking ticket.</p> - -<p>You can download this version from our <a href="download.cgi#struts-23x">download</a> page.</p> - -<h4 id="a20181015-1">15 October 2018 - Struts 2.5.18 General Availability</h4> - -<p>The Apache Struts group is pleased to announce that Struts 2.5.18 is available as a “General Availability” +<p>The Apache Struts group is pleased to announce that Struts 2.5.20 is available as a “General Availability” release. The GA designation is our highest quality grade.</p> <p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. @@ -193,60 +150,17 @@ to maintaining applications over time.</p> <p>Below is a full list of all changes:</p> <ul> - <li><code class="highlighter-rouge">jar_cache</code> Some jar_cache<strong>**</strong>.tmp files are generated into a temporary directory(/tmp) during web service start</li> - <li>Struts 2.5.16 is creating jar_cache files in temp folder</li> - <li>MD5 and SHA1 should no longer be provided on download pages</li> - <li>xml-validation fails since struts 2.5.17</li> -</ul> - -<p>Internal Changes:</p> - -<ul> - <li>XWorkList was moved into a com.opensymphony.xwork2.conversion.impl package as com.opensymphony.xwork2.util package is excluded -by the Internal Security Mechanism.</li> -</ul> - -<p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. -The framework is designed to streamline the full development cycle, from building, to deploying, -to maintaining applications over time.</p> - -<p><strong>All developers are strongly advised to perform this action.</strong></p> - -<p>The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: -Servlet API 2.4, JSP API 2.0, and Java 7.</p> - -<p>Should any issues arise with your use of any version of the Struts framework, please post your comments -to the user list, and, if appropriate, file a tracking ticket.</p> - -<p>You can download this version from our <a href="download.cgi#struts-ga">download</a> page.</p> - -<h4 id="a20180822-0">22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</h4> - -<p>CVEID:CVE-2018-11776</p> - -<p>PRODUCT:Apache Struts</p> - -<p>VERSION:Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</p> - -<p>PROBLEMTYPE:Remote Code Execution</p> - -<p>REFERENCES:<a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></p> - -<p>DESCRIPTION:Man Yue Mo from the Semmle Security Research team was noticed that Apache Struts versions 2.3 to 2.3.34 and -2.5 to 2.5.16 suffer from possible Remote Code Execution when using results with no namespace and in same time, its -upper action(s) have no or wildcard namespace. Same possibility when using url tag which doesn’t have value and action -set and in same time, its upper action(s) have no or wildcard namespace.</p> - -<h4 id="a20180822-1">22 August 2018 - Struts 2.5.17 General Availability</h4> - -<p>The Apache Struts group is pleased to announce that Struts 2.5.17 is available as a “General Availability” -release. The GA designation is our highest quality grade.</p> - -<p>In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability:</p> - -<ul> - <li>Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or -wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></li> + <li>s:include tag fails with truncated content in certain circumstances</li> + <li>NullPointerException in DefaultStaticContentLoader#findStaticResource</li> + <li>Fixing flaky test in Jsr168DispatcherTest and Jsr286DispatcherTest</li> + <li>Static files like css and js files in struts-core not properly served</li> + <li>Race condition reloading config results in actions not found</li> + <li>Setting Struts2 <s:select> options Css Class</s:select></li> + <li>Enhancement for s:set tag to improve tag body whitespace control.</li> + <li>Add support for Java 11</li> + <li>Upgraded commons-fileupload to version 1.4</li> + <li>Update multiple Struts 2.5.x libraries to more recent versions</li> + <li>Update OGNL versions for 2.6 and 2.5.x builds</li> </ul> <p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. @@ -263,16 +177,17 @@ to the user list, and, if appropriate, file a tracking ticket.</p> <p>You can download this version from our <a href="download.cgi#struts-ga">download</a> page.</p> -<h4 id="a20180822-2">22 August 2018 - Struts 2.3.35 General Availability</h4> +<h4 id="a20181230">30 December 2018 - Struts 2.3.37 General Availability</h4> -<p>The Apache Struts group is pleased to announce that Struts 2.3.35 is available as a “General Availability” +<p>The Apache Struts group is pleased to announce that Struts 2.3.37 is available as a “General Availability” release. The GA designation is our highest quality grade.</p> -<p>In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability:</p> +<p>This release addresses one backward compatibility issue:</p> <ul> - <li>Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or -wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></li> + <li>Struts 2.3.36 - InvalidPathException: Illegal char <:> on JDK 9,10,11 on windows</:></li> + <li>Error when upgrading to struts2.3.35</li> + <li>Upgraded commons-fileupload to version 1.4</li> </ul> <p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. @@ -289,107 +204,8 @@ to the user list, and, if appropriate, file a tracking ticket.</p> <p>You can download this version from our <a href="download.cgi#struts-23x">download</a> page.</p> -<h4 id="a20180327">27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin</h4> - -<p>The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use the latest released -version of the Apache Struts. This is necessary to prevent your publicly accessible web site, which is using the Struts -REST plugin and performing XML serialisation, from being exposed to possible DoS attack.</p> - -<p>You can find more details in a Security Bulletin <a href="https://cwiki.apache.org/confluence/display/WW/S2-056">S2-056</a></p> - -<p>All developers are strongly advised to perform this action.</p> - -<h4 id="a20180323">23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3</h4> - -<p>The Apache Struts Team recommends to immediately upgrade your Struts 2 -based projects to use the latest released version of Commons -FileUpload library, which is currently 1.3.3. This is necessary to -prevent your publicly accessible web site from being exposed to -possible Remote Code Execution attacks (see [1] [2]).</p> - -<p>This affects any Struts version prior to <strong>2.5.12</strong> [3].</p> - -<p>Your project is affected if it uses the built-in file upload mechanism -of Struts 2, which defaults to the use of commons-fileupload. The -updated commons-fileupload library is a drop-in replacement for the -vulnerable version. Deployed applications can be hardened by replacing -the commons-fileupload jar file in WEB-INF/lib with the fixed jar. For -Maven based Struts 2 projects, the following dependency needs to be -added:</p> - -<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> - <span class="nt"><groupId></span>commons-fileupload<span class="nt"></groupId></span> - <span class="nt"><artifactId></span>commons-fileupload<span class="nt"></artifactId></span> - <span class="nt"><version></span>1.3.3<span class="nt"></version></span> -<span class="nt"></dependency></span> -</code></pre> -</div> - -<p>More details can be found here:</p> - -<ol> - <li><a href="https://issues.apache.org/jira/browse/FILEUPLOAD-279">https://issues.apache.org/jira/browse/FILEUPLOAD-279</a></li> - <li><a href="https://nvd.nist.gov/vuln/detail/CVE-2016-1000031">https://nvd.nist.gov/vuln/detail/CVE-2016-1000031</a></li> - <li><a href="https://issues.apache.org/jira/browse/WW-4812">https://issues.apache.org/jira/browse/WW-4812</a></li> -</ol> - -<p>All developers are strongly advised to perform this action.</p> - -<h4 id="a20180316">16 March 2018 - Struts 2.5.16 General Availability</h4> - -<p>The Apache Struts group is pleased to announce that Struts 2.5.16 is available as a “General Availability” -release. The GA designation is our highest quality grade.</p> - -<p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. -The framework is designed to streamline the full development cycle, from building, to deploying, -to maintaining applications over time.</p> - -<p>Below is a full list of all changes:</p> - -<ul> - <li>unclosed instantiation of PrintWriter</li> - <li>Http Sessions forcefully created for all requests using I18nInterceptor with default Storage value.</li> - <li>NotSerializableException - org.apache.struts2.dispatcher.StrutsRequestWrapper</li> - <li>NotSerializableException: com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector when using ExecuteAndWait -interceptor</li> - <li>ClassCastException in JarEntryRevision</li> - <li>Dependency Mapping Exception When Using PrefixBasedActionProxyFactory</li> - <li>The converter() method of com.opensymphony.xwork2.conversion.annotations.TypeConversion is now deprecated. If this -method is removed in some next release, it will forbid to describe a converter by the name (id) of a Spring bean.</li> - <li>Conversion by annotation does not work</li> - <li>List of Boolean is not populated in Action class</li> - <li>JSONResult exception in struts2-json-plugin-2.5.14.1.jar</li> - <li>buttons with name=”method:METHODNAME” sometimes ignore global-allowed-methods defined in struts.xml</li> - <li>Could not create JarEntryRevision for [zip:C:/…. unknown protocol c</li> - <li>NPE in I18nInterceptor$SessionLocaleHandler.read</li> - <li>JasperReportResult: NPE When Not Using SQL Connection</li> - <li>support JSR 303 Validation Groups in BeanValidation-Plugin</li> - <li>Debug tag should not display anything when not in dev mode</li> - <li>Allow using of Initializable interface on an implementation level</li> - <li>Allowed methods inheritance</li> - <li>Allow use Jackson XML bindings to serialise / deserialise XML</li> - <li>when using an custom array as a filed in struts 2 action form textfiled data from jsp page in not populating into -custom array but populating in String array or array list</li> - <li>Upgrade Spring to version 4.3.13</li> - <li>Update Log4j2 to 2.10.0</li> -</ul> - -<blockquote> - <p>Please read the <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.16">Version Notes</a> to find more details about performed bug fixes and improvements.</p> -</blockquote> - -<p><strong>All developers are strongly advised to perform this action.</strong></p> - -<p>The 2.5.x series of the Apache Struts framework has a minimum requirement of the following specification versions: -Servlet API 2.4, JSP API 2.0, and Java 7.</p> - -<p>Should any issues arise with your use of any version of the Struts framework, please post your comments -to the user list, and, if appropriate, file a tracking ticket.</p> - -<p>You can download this version from our <a href="download.cgi#struts-ga">download</a> page.</p> - <p class="pull-right"> - Skip to: <a href="announce-2017.html">Announcements - 2017</a> + Skip to: <a href="announce-2018.html">Announcements - 2018</a> </p> <p class="pull-left"> diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index e965204..c74b793 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -288,6 +288,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="err">freemarker.ext.rhino.,</span> <span class="err">sun.reflect.,</span> <span class="err">javassist.,</span> + <span class="err">org.objectweb.asm.,</span> <span class="err">com.opensymphony.xwork2.ognl.,</span> <span class="err">com.opensymphony.xwork2.security.,</span> <span class="err">com.opensymphony.xwork2.util."</span> <span class="nt">/></span> @@ -295,7 +296,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultConverterFactory"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span> <span class="nt">/></span> @@ -340,8 +341,8 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterHolder"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span> <span class="nt">/></span> diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index 791689b..41a296c 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -203,6 +203,7 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <span class="err">freemarker.ext.rhino.,</span> <span class="err">sun.reflect.,</span> <span class="err">javassist.,</span> + <span class="err">org.objectweb.asm.,</span> <span class="err">com.opensymphony.xwork2.ognl.,</span> <span class="err">com.opensymphony.xwork2.security.,</span> <span class="err">com.opensymphony.xwork2.util."</span> <span class="nt">/></span> @@ -210,7 +211,7 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <span class="nt"><bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultConverterFactory"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span> <span class="nt">/></span> @@ -255,8 +256,8 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator"</span> <span class="nt">/></span> - <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterHolder"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span> <span class="nt">/></span> + <span class="nt"><bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span> <span class="nt">/></span> <span class="nt"><bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span> <span class="nt">/></span> diff --git a/content/download.html b/content/download.html index f010df2..3c60405 100644 --- a/content/download.html +++ b/content/download.html @@ -189,26 +189,26 @@ <h2 id="struts-ga">Full Releases</h2> -<h3 id="struts2518">Struts 2.5.18</h3> +<h3 id="struts2520">Struts 2.5.20</h3> <p> - <a href="https://struts.apache.org/">Apache Struts 2.5.18</a> is an elegant, extensible + <a href="https://struts.apache.org/">Apache Struts 2.5.20</a> is an elegant, extensible framework for creating enterprise-ready Java web applications. It is available in a full distribution, or as separate library, source, example and documentation distributions. - Struts 2.5.18 is the "best available" version of Struts in the 2.5 series. + Struts 2.5.20 is the "best available" version of Struts in the 2.5 series. </p> <ul> <li> - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18">Version Notes</a> + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.20">Version Notes</a> </li> <li>Full Distribution: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-all.zip">struts-2.5.18-all.zip</a> (65MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-all.zip">struts-2.5.20-all.zip</a> (65MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-all.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-all.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -216,9 +216,9 @@ <li>Example Applications: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-apps.zip">struts-2.5.18-apps.zip</a> (35MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-apps.zip">struts-2.5.20-apps.zip</a> (35MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-apps.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-apps.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -226,9 +226,9 @@ <li>Essential Dependencies Only: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-min-lib.zip">struts-2.5.18-min-lib.zip</a> (4MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-min-lib.zip">struts-2.5.20-min-lib.zip</a> (4MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-min-lib.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-min-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -236,9 +236,9 @@ <li>All Dependencies: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-lib.zip">struts-2.5.18-lib.zip</a> (19MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-lib.zip">struts-2.5.20-lib.zip</a> (19MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-lib.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -246,9 +246,9 @@ <li>Documentation: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-docs.zip">struts-2.5.18-docs.zip</a> (13MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-docs.zip">struts-2.5.20-docs.zip</a> (13MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-docs.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-docs.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -256,28 +256,28 @@ <li>Source: <ul> <li> - <a href="[preferred]struts/2.5.18/struts-2.5.18-src.zip">struts-2.5.18-src.zip</a> (7MB) - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.5.20/struts-2.5.20-src.zip">struts-2.5.20-src.zip</a> (7MB) + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-src.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-src.zip.sha256">SHA256</a>] </li> </ul> </li> </ul> -<h3 id="struts-23x">Struts 2.3.36</h3> +<h3 id="struts-23x">Struts 2.3.37</h3> <ul> <li> - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">Version Notes</a> + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.37">Version Notes</a> </li> <li>Full Distribution: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-all.zip">struts-2.3.36-all.zip</a> (65MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-all.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-all.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-all.zip">struts-2.3.37-all.zip</a> (65MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -285,9 +285,9 @@ <li>Example Applications: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-apps.zip">struts-2.3.36-apps.zip</a> (35MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-apps.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-apps.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-apps.zip">struts-2.3.37-apps.zip</a> (35MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -295,9 +295,9 @@ <li>Essential Dependencies Only: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-min-lib.zip">struts-2.3.36-min-lib.zip</a> (4MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-min-lib.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-min-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-min-lib.zip">struts-2.3.37-min-lib.zip</a> (4MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -305,9 +305,9 @@ <li>All Dependencies: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-lib.zip">struts-2.3.36-lib.zip</a> (19MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-lib.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-lib.zip">struts-2.3.37-lib.zip</a> (19MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -315,9 +315,9 @@ <li>Documentation: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-docs.zip">struts-2.3.36-docs.zip</a> (13MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-docs.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-docs.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-docs.zip">struts-2.3.37-docs.zip</a> (13MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -325,9 +325,9 @@ <li>Source: <ul> <li> - <a href="[preferred]struts/2.3.36/struts-2.3.36-src.zip">struts-2.3.36-src.zip</a> (7MB) - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-src.zip.asc">PGP</a>] - [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-src.zip.sha256">SHA256</a>] + <a href="[preferred]struts/2.3.37/struts-2.3.37-src.zip">struts-2.3.37-src.zip</a> (7MB) + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.asc">PGP</a>] + [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.sha256">SHA256</a>] </li> </ul> </li> diff --git a/content/index.html b/content/index.html index 012b331..b33e8e1 100644 --- a/content/index.html +++ b/content/index.html @@ -131,7 +131,7 @@ extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON. </p> - <a href="download.cgi#struts2518" class="btn btn-primary btn-large"> + <a href="download.cgi#struts2520" class="btn btn-primary btn-large"> <img src="img/download-icon.svg"> Download </a> <a href="primer.html" class="btn btn-info btn-large"> @@ -151,19 +151,19 @@ </p> </div> <div class="column col-md-4"> - <h2>Apache Struts 2.5.18 GA</h2> + <h2>Apache Struts 2.5.20 GA</h2> <p> - Apache Struts 2.5.18 GA has been released<br/>on 15 October 2018. + Apache Struts 2.5.20 GA has been released<br/>on 14 January 2019. </p> - Read more in <a href="announce.html#a20181015-1">Announcement</a> or in - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18">Version notes</a> + Read more in <a href="announce.html#a20190114">Announcement</a> or in + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.20">Version notes</a> </div> <div class="column col-md-4"> - <h2>Apache Struts 2.3.36 GA</h2> + <h2>Apache Struts 2.3.37 GA</h2> <p> It's the latest release of Struts 2.3.x which contains the latest security fixes, - released on 15 October 2018.<br/> Read more in <a href="announce.html#a20181015-2">Announcement</a> or in - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">Version notes</a> + released on 30 December 2018.<br/> Read more in <a href="announce.html#a20181230">Announcement</a> or in + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.37">Version notes</a> </p> </div> </div> @@ -186,12 +186,6 @@ </p> </div> <div class="column col-md-4"> - <h2>Immediately upgrade to version 2.5.18 or 2.3.36</h2> - <p> - The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use - the latest released version of the Apache Struts to prevent possible RCE attack when using results with no namespace, - reported in <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a>. Read more in <a href="announce.html#a20181015-0">Announcement</a>. - </p> </div> </div> </div> diff --git a/content/releases.html b/content/releases.html index 1163aa0..267659a 100644 --- a/content/releases.html +++ b/content/releases.html @@ -147,7 +147,7 @@ <ul> <li> <a href="/download.cgi#struts-ga"> - Struts 2.5.18 + Struts 2.5.20 </a> ("best available") </li> </ul> diff --git a/content/tag-developers/css-xhtml-theme.html b/content/tag-developers/css-xhtml-theme.html index e74e126..1aed008 100644 --- a/content/tag-developers/css-xhtml-theme.html +++ b/content/tag-developers/css-xhtml-theme.html @@ -167,16 +167,16 @@ the HTML tags are wrapped by a standard header and footer. For example, in the < */ --> <input<#rt/> - type="${(parameters.type!"text")?html}"<#rt/> - name="${(parameters.name!"")?html}"<#rt/> + type="${(parameters.type!"text")}"<#rt/> + name="${(parameters.name!"")}"<#rt/> <#if parameters.get("size")?has_content> - size="${parameters.get("size")?html}"<#rt/> + size="${parameters.get("size")}"<#rt/> </#if> <#if parameters.maxlength?has_content> - maxlength="${parameters.maxlength?html}"<#rt/> + maxlength="${parameters.maxlength}"<#rt/> </#if> <#if parameters.nameValue??> - value="${parameters.nameValue?html}"<#rt/> + value="${parameters.nameValue}"<#rt/> </#if> <#if parameters.disabled!false> disabled="disabled"<#rt/> @@ -185,14 +185,14 @@ the HTML tags are wrapped by a standard header and footer. For example, in the < readonly="readonly"<#rt/> </#if> <#if parameters.tabindex?has_content> - tabindex="${parameters.tabindex?html}"<#rt/> + tabindex="${parameters.tabindex}"<#rt/> </#if> <#if parameters.id?has_content> - id="${parameters.id?html}"<#rt/> + id="${parameters.id}"<#rt/> </#if> <#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /> <#if parameters.title?has_content> - title="${parameters.title?html}"<#rt/> + title="${parameters.title}"<#rt/> </#if> <#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /> <#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /> @@ -287,7 +287,7 @@ ${parameters.after!}<#t/> errorFor="${parameters.id}"<#rt/> </#if> class="errorMessage"> - ${error?html} + ${error} </div><#t/> </#list> </div><#t/> diff --git a/content/tag-developers/xhtml-theme.html b/content/tag-developers/xhtml-theme.html index 0f1180f..f842e44 100644 --- a/content/tag-developers/xhtml-theme.html +++ b/content/tag-developers/xhtml-theme.html @@ -218,7 +218,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" /> <td <#if parameters.align?? > - class="align-${parameters.align?html}" + class="align-${parameters.align}" <#else > class="tdInput" </#if> @@ -254,7 +254,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <#list fieldErrors[parameters.name] as error> <tr errorFor="${parameters.id}"> <td class="tdErrorMessage" colspan="2"><#rt/> - <span class="errorMessage">${error?html}</span><#t/> + <span class="errorMessage">${error}</span><#t/> </td><#lt/> </tr> </#list> @@ -278,7 +278,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <#if parameters.label??> <label <#t/> <#if parameters.id??> - for="${parameters.id?html}" <#t/> + for="${parameters.id}" <#t/> </#if> <#if hasFieldErrors> class="errorLabel"<#t/> @@ -289,11 +289,11 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <#if (parameters.required!false) && ((parameters.requiredPosition!"right") != 'right')> <span class="required">*</span><#t/> </#if> -${parameters.label?html}<#t/> +${parameters.label}<#t/> <#if (parameters.required!false) && ((parameters.requiredPosition!"right") == 'right')> <span class="required">*</span><#t/> </#if> -${parameters.labelseparator!":"?html}<#t/> +${parameters.labelseparator!":"}<#t/> <#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" /> </label><#t/> </#if> @@ -349,7 +349,7 @@ ${parameters.after!}<#t/> <#list fieldErrors[parameters.name] as error> <tr errorFor="${parameters.id}"> <td class="tdErrorMessage" colspan="2"><#rt/> - <span class="errorMessage">${error?html}</span><#t/> + <span class="errorMessage">${error}</span><#t/> </td><#lt/> </tr> </#list> @@ -469,10 +469,10 @@ wrapping table, the opening and closing templates also, if the <code class="high <#include "/${parameters.templateDir}/${parameters.expandTheme}/form-validate.ftl" /> <#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" /> <#if (parameters.validate!false)> - onreset="${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}" + onreset="<#outputformat 'JavaScript'>${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}</#outputformat>" <#else> <#if parameters.onreset??> - onreset="${parameters.onreset?html}" + onreset="<#outputformat 'JavaScript'>${parameters.onreset}</#outputformat>" </#if> </#if> > @@ -506,7 +506,7 @@ wrapping table, the opening and closing templates also, if the <code class="high <#if parameters.focusElement??> <script type="text/javascript"> StrutsUtils.addOnLoad(function() { - var element = document.getElementById("${parameters.focusElement?html}"); + var element = document.getElementById("${parameters.focusElement}"); if(element) { element.focus(); } @@ -545,10 +545,10 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope <#include "/${parameters.templateDir}/${parameters.expandTheme}/form-validate.ftl" /> <#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" /> <#if (parameters.validate!false)> - onreset="${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}" + onreset="<#outputformat 'JavaScript'>${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}</#outputformat>" <#else> <#if parameters.onreset??> - onreset="${parameters.onreset?html}" + onreset="<#outputformat 'JavaScript'>${parameters.onreset}</#outputformat>" </#if> </#if> > @@ -582,7 +582,7 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope <#if parameters.focusElement??> <script type="text/javascript"> StrutsUtils.addOnLoad(function() { - var element = document.getElementById("${parameters.focusElement?html}"); + var element = document.getElementById("${parameters.focusElement}"); if(element) { element.focus(); }