This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-staging by this push: new e083e1461 Updates stage by Jenkins e083e1461 is described below commit e083e14617e704b4344d8301cc9dc1edde7ad46f Author: jenkins <bui...@apache.org> AuthorDate: Tue Sep 5 05:27:26 2023 +0000 Updates stage by Jenkins --- content/announce-2023.html | 57 +++++++++++++++++ content/download.html | 86 ++++++++++++------------- content/index.html | 18 +++--- content/releases.html | 2 +- content/tag-developers/ajax-head-template.html | 88 +------------------------- 5 files changed, 112 insertions(+), 139 deletions(-) diff --git a/content/announce-2023.html b/content/announce-2023.html index 788bfc3be..027d93488 100644 --- a/content/announce-2023.html +++ b/content/announce-2023.html @@ -132,6 +132,7 @@ <h1 class="no_toc" id="announcements-2023">Announcements 2023</h1> <ul id="markdown-toc"> + <li><a href="#a20230710" id="markdown-toc-a20230710">04 September 2023 - Apache Struts version 6.3.0 General Availability</a></li> <li><a href="#a20230710" id="markdown-toc-a20230710">10 July 2023 - Apache Struts version 6.2.0 General Availability</a></li> <li><a href="#a20230613-1" id="markdown-toc-a20230613-1">13 June 2023 - Apache Struts version 6.1.2.1 General Availability</a></li> <li><a href="#a20230613-2" id="markdown-toc-a20230613-2">13 June 2023 - Apache Struts version 2.5.31 General Availability</a></li> @@ -142,6 +143,62 @@ Skip to: <a href="announce-2022">Announcements - 2022</a> </p> +<h4 id="a20230710">04 September 2023 - Apache Struts version 6.3.0 General Availability</h4> + +<p>The Apache Struts group is pleased to announce that Apache Struts version 6.3.0 is available as a “General Availability” +release. The GA designation is our highest quality grade.</p> + +<p>The Apache Struts is an elegant, extensible framework for creating enterprise-ready Java web applications. +The framework has been designed to streamline the full development cycle, from building, to deploying, +to maintaining applications over time.</p> + +<blockquote> + <p>Note: This version includes the whole code of retired The Apache Tiles, when you use the Struts Tiles plugin +please to remove any external dependencies to the Apache Tiles as the whole code is already included in the plugin. +See <a href="https://issues.apache.org/jira/browse/WW-5233">WW-5233</a> for more details.</p> +</blockquote> + +<p>Below is a full list of all changes:</p> + +<p><strong>Bug</strong> +WW-5330 - Issue when submitting a form with a textarea containing more than 4000 characters. +WW-5331 - Access to request attributes via tags is broken</p> + +<p><strong>Improvement</strong> +WW-5233 - Include Apache Tiles code base in the Tiles plugin +WW-5321 - notify / document about new maxStringLength limitation +WW-5327 - Stop using JavaBeans notation for setters in SecurityMemberAccess & MemberAccessValueStack +WW-5332 - Validate excluded package name list for missing commas +WW-5334 - Misc VelocityManager code cleanup +WW-5336 - Merge OgnlTool class into StrutsUtil class +WW-5337 - Improve performance of excluded classes and packages</p> + +<p><strong>Dependency</strong> +WW-5315 - Upgrades ASM to version 9.5 +WW-5316 - Upgrades commons-io to version 2.13.0 +WW-5317 - Upgrades log4j-api to version 2.20.0 +WW-5318 - Upgrades slf4j-api to version 2.0.7 +WW-5320 - finish Reproducible Builds +WW-5322 - Upgrade Jackson version to 2.15.2 +WW-5323 - Upgrade JasperReports to version 6.20.5 +WW-5325 - Upgrade commons-lang3 to version 2.13.0 +WW-5329 - Upgrade xstream to version 1.4.20</p> + +<blockquote> + <p>Please read the <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.3.0">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 upgrade.</strong></p> + +<p>The 6.x series of the Apache Struts framework has a minimum requirement of the following specification versions: +Servlet API 3.1, JSP API 2.1, and Java 8.</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 href="https://issues.apache.org/jira/projects/WW/">a tracking ticket</a>.</p> + +<p>You can download this version from our <a href="download.cgi#struts-ga">download</a> page.</p> + <h4 id="a20230710">10 July 2023 - Apache Struts version 6.2.0 General Availability</h4> <p>The Apache Struts group is pleased to announce that Apache Struts version 6.2.0 is available as a “General Availability” diff --git a/content/download.html b/content/download.html index e81daf714..7ab556e6b 100644 --- a/content/download.html +++ b/content/download.html @@ -184,26 +184,26 @@ <h2 id="struts-ga">Full Releases</h2> -<h3 id="struts620">Struts 6.2.0</h3> +<h3 id="struts630">Struts 6.3.0</h3> <p> - The <a href="https://struts.apache.org/">Apache Struts 6.2.0</a> is an elegant, extensible + The <a href="https://struts.apache.org/">Apache Struts 6.3.0</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 6.2.0 is the "best available" version of Struts in the 2.5 series. + Struts 6.3.0 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+6.2.0">Version Notes</a> + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.3.0">Version Notes</a> </li> <li>Full Distribution: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-all.zip">struts-6.2.0-all.zip</a> (73MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-all.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-all.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-all.zip">struts-6.3.0-all.zip</a> (73MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-all.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-all.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -211,9 +211,9 @@ <li>Example Applications: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-apps.zip">struts-6.2.0-apps.zip</a> (32MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-apps.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-apps.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-apps.zip">struts-6.3.0-apps.zip</a> (32MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-apps.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-apps.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -221,9 +221,9 @@ <li>Essential Dependencies Only: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-min-lib.zip">struts-6.2.0-min-lib.zip</a> (4MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-min-lib.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-min-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-min-lib.zip">struts-6.3.0-min-lib.zip</a> (4MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-min-lib.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-min-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -231,9 +231,9 @@ <li>All Dependencies: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-lib.zip">struts-6.2.0-lib.zip</a> (24MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-lib.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-lib.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-lib.zip">struts-6.3.0-lib.zip</a> (24MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-lib.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -241,9 +241,9 @@ <li>Documentation: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-docs.zip">struts-6.2.0-docs.zip</a> (12MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-docs.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-docs.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-docs.zip">struts-6.3.0-docs.zip</a> (12MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-docs.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-docs.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -251,28 +251,28 @@ <li>Source: <ul> <li> - <a href="[preferred]struts/6.2.0/struts-6.2.0-src.zip">struts-6.2.0-src.zip</a> (6MB) - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-src.zip.asc">PGP</a>] - [<a href="https://downloads.apache.org/struts/6.2.0/struts-6.2.0-src.zip.sha256">SHA256</a>] + <a href="[preferred]struts/6.3.0/struts-6.3.0-src.zip">struts-6.3.0-src.zip</a> (6MB) + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-src.zip.asc">PGP</a>] + [<a href="https://downloads.apache.org/struts/6.3.0/struts-6.3.0-src.zip.sha256">SHA256</a>] </li> </ul> </li> </ul> -<h3 id="struts-25x">Struts 6.1.2.1</h3> +<h3 id="struts-25x">Struts 6.2.0</h3> <ul> <li> - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.1.2.1">Version Notes</a> + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.2.0">Version Notes</a> </li> <li>Full Distribution: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-all.zip">struts-6.1.2.1-all.zip</a> (65MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-all.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-all.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-all.zip">struts-6.2.0-all.zip</a> (65MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-all.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-all.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -280,9 +280,9 @@ <li>Example Applications: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-apps.zip">struts-6.1.2.1-apps.zip</a> (35MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-apps.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-apps.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-apps.zip">struts-6.2.0-apps.zip</a> (35MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-apps.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-apps.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -290,9 +290,9 @@ <li>Essential Dependencies Only: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-min-lib.zip">struts-6.1.2.1-min-lib.zip</a> (4MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-min-lib.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-min-lib.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-min-lib.zip">struts-6.2.0-min-lib.zip</a> (4MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-min-lib.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-min-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -300,9 +300,9 @@ <li>All Dependencies: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-lib.zip">struts-6.1.2.1-lib.zip</a> (19MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-lib.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-lib.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-lib.zip">struts-6.2.0-lib.zip</a> (19MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-lib.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-lib.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -310,9 +310,9 @@ <li>Documentation: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-docs.zip">struts-6.1.2.1-docs.zip</a> (13MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-docs.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-docs.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-docs.zip">struts-6.2.0-docs.zip</a> (13MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-docs.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-docs.zip.sha256">SHA256</a>] </li> </ul> </li> @@ -320,16 +320,16 @@ <li>Source: <ul> <li> - <a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-src.zip">struts-6.1.2.1-src.zip</a> (7MB) - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-src.zip.asc">PGP</a>] - [<a href="https://archive.apache.org/dist/struts/6.1.2.1/struts-6.1.2.1-src.zip.sha256">SHA256</a>] + <a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-src.zip">struts-6.2.0-src.zip</a> (7MB) + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-src.zip.asc">PGP</a>] + [<a href="https://archive.apache.org/dist/struts/6.2.0/struts-6.2.0-src.zip.sha256">SHA256</a>] </li> </ul> </li> </ul> -<h3 id="struts-23x">Struts 6.1.2.1</h3> +<h3 id="struts-23x">Struts 6.2.0</h3> <p>We stopped serving directly the outdated Struts 2.3.x series, you should immediately upgrade to the latest 2.5.x version or migrate to the latest 6.x.x version. Please check the <b>Prior releases</b> section below, if you are looking for older versions.</p> diff --git a/content/index.html b/content/index.html index 7ebce2a47..885168213 100644 --- a/content/index.html +++ b/content/index.html @@ -135,7 +135,7 @@ extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON. </p> - <a href="download.cgi#struts620" class="btn btn-primary btn-large"> + <a href="download.cgi#struts630" class="btn btn-primary btn-large"> <img src="img/download-icon.svg" alt="Download"> Download </a> <a href="primer.html" class="btn btn-info btn-large"> @@ -147,20 +147,20 @@ <div class="col-md-12"> <div class="row"> <div class="column col-md-4"> - <h2>Apache Struts 6.2.0 GA</h2> + <h2>Apache Struts 6.3.0 GA</h2> <p> - Apache Struts 6.2.0 GA has been released<br/>on 10 July 2023. + Apache Struts 6.3.0 GA has been released<br/>on 4 September 2023. </p> - Read more in <a href="announce-2023#a20230710">Announcement</a> or in - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.2.0">Version notes</a> + Read more in <a href="announce-2023#a20230904">Announcement</a> or in + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.3.0">Version notes</a> </div> <div class="column col-md-4"> - <h2>Apache Struts 6.1.2.1 GA</h2> + <h2>Apache Struts 6.2.0 GA</h2> <p> - Apache Struts 6.1.2.1 GA has been released<br/>on 13 June 2023. + Apache Struts 6.2.0 GA has been released<br/>on 10 July 2023. </p> - Read more in <a href="announce-2023#a20230613-1">Announcement</a> or in - <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.1.2.1">Version notes</a> + Read more in <a href="announce-2023#a20230710">Announcement</a> or in + <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+6.2.0">Version notes</a> </div> <div class="column col-md-4"> <h2>Apache Struts 2.5.31 GA</h2> diff --git a/content/releases.html b/content/releases.html index 2f4d787e9..0de0bae37 100644 --- a/content/releases.html +++ b/content/releases.html @@ -149,7 +149,7 @@ <ul> <li> <a href="download.cgi#struts-ga"> - Struts 6.2.0 + Struts 6.3.0 </a> ("best available") </li> </ul> diff --git a/content/tag-developers/ajax-head-template.html b/content/tag-developers/ajax-head-template.html index 5035fea9f..8549f1aa7 100644 --- a/content/tag-developers/ajax-head-template.html +++ b/content/tag-developers/ajax-head-template.html @@ -140,87 +140,7 @@ JavaScript includes for the <a href="http://dojotoolkit.org">Dojo Toolkit</a>, w <a href="ajax-div-template">ajax div template</a>, and the <a href="">ajax tabbedPanel template</a>. It is required to use this tag, <code class="language-plaintext highlighter-rouge"><ww:head theme="ajax"/></code> , in your HTML <code class="language-plaintext highlighter-rouge"><head></code> block if you wish to use AJAX feature. The contents of <strong>head.ftl</strong> are:</p> -<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt"><</span><span class="na">#--</span> -<span class="err">/</span><span class="na">*</span> - <span class="na">*</span> <span class="err">$</span><span class="na">Id</span><span class="err">$</span> - <span class="na">*</span> - <span class="na">*</span> <span class="na">Licensed</span> <span class="na">to</span> <span class="na">the</span> <span class="na">Apache</span> <span class="na">Software</span> <span class="na">Foundation</span> <span class="err">(</span><span class="na">ASF</span><span class="err">)</span> <span class="na">under</span> <span class="na">one</span> - <span class="na">*</span> <span class="na">or</span> <span class="na">more</span> <span class="na">contributor</span> <span class="na">license</span> <span class="na">agreements.</span> <span class="na">See</span> <span class="na">the</span> <span class="na">NOTICE</span> <span class="na">file</span> - <span class="na">*</span> <span class="na">distributed</span> <span class="na">with</span> <span class="na">this</span> <span class="na">work</span> <span class="na">for</span> <span class="na">additional</span> <span class="na">information</span> - <span class="na">*</span> <span class="na">regarding</span> <span class="na">copyright</span> <span class="na">ownership.</span> <span class="na">The</span> <span class="na">ASF</span> <span class="na">licenses</span> <span class="na">this</span> <span class="na">file</span> - <span class="na">*</span> <span class="na">to</span> <span class="na">you</span> <span class="na">under</span> <span class="na">the</span> <span class="na">Apache</span> <span class="na">License</span><span class="err">,</span> <span class="na">Version</span> <span class="err">2.0</span> <span class="err">(</span><span class="na">the</span> - <span class="na">*</span> <span class="err">"</span><span class="na">License</span><span class="err">");</span> <span class="na">you</span> <span class="na">may</span> <span class="na">not</span> <span class="na">use</span> <span class="na">this</span> <span class="na">file</span> <span class="na">except</span> <span class="na">in</span> <span class="na">compliance</span> - <span class="na">*</span> <span class="na">with</span> <span class="na">the</span> <span class="na">License.</span> <span class="na">You</span> <span class="na">may</span> <span class="na">obtain</span> <span class="na">a</span> <span class="na">copy</span> <span class="na">of</span> <span class="na">the</span> <span class="na">License</span> <span class="na">at</span> - <span class="na">*</span> - <span class="na">*</span> <span class="na">http:</span><span class="err">//</span><span class="na">www.apache.org</span><span class="err">/</span><span class="na">licenses</span><span class="err">/</span><span class="na">LICENSE-2.0</span> - <span class="na">*</span> - <span class="na">*</span> <span class="na">Unless</span> <span class="na">required</span> <span class="na">by</span> <span class="na">applicable</span> <span class="na">law</span> <span class="na">or</span> <span class="na">agreed</span> <span class="na">to</span> <span class="na">in</span> <span class="na">writing</span><span class="err">,</span> - <span class="na">*</span> <span class="na">software</span> <span class="na">distributed</span> <span class="na">under</span> <span class="na">the</span> <span class="na">License</span> <span class="na">is</span> <span class="na">distributed</span> <span class="na">on</span> <span class="na">an</span> - <span class="na">*</span> <span class="err">"</span><span class="na">AS</span> <span class="na">IS</span><span class="err">"</span> <span class="na">BASIS</span><span class="err">,</span> <span class="na">WITHOUT</span> <span class="na">WARRANTIES</span> <span class="na">OR</span> <span class="na">CONDITIONS</span> <span class="na">OF</span> <span class="na">ANY</span> - <span class="na">*</span> <span class="na">KIND</span><span class="err">,</span> <span class="na">either</span> <span class="na">express</span> <span class="na">or</span> <span class="na">implied.</span> <span class="na">See</span> <span class="na">the</span> <span class="na">License</span> <span class="na">for</span> <span class="na">the</span> - <span class="na">*</span> <span class="na">specific</span> <span class="na">language</span> <span class="na">governing</span> <span class="na">permissions</span> <span class="na">and</span> <span class="na">limitations</span> - <span class="na">*</span> <span class="na">under</span> <span class="na">the</span> <span class="na">License.</span> - <span class="na">*</span><span class="err">/</span> -<span class="na">--</span><span class="nt">></span> -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="c1">// Dojo configuration</span> - <span class="nx">djConfig</span> <span class="o">=</span> <span class="p">{</span> - <span class="na">isDebug</span><span class="p">:</span> <span class="nx">$</span><span class="p">{</span><span class="nx">parameters</span><span class="p">.</span><span class="nx">debug</span><span class="p">?</span><span class="k">default</span><span class="p">(</span><span class="kc">false</span><span class="p">)?</span><span class="nx">string</span><span class="p">},</span> - <span class="nx">bindEncoding</span><span class="p">:</span> <span class="dl">"</span><span class="s2">${parameters.encoding}</span><span class="dl">"</span> - <span class="o"><</span><span class="err">#</span><span class="k">if</span> <span class="nx">parameters</span><span class="p">.</span><span class="nx">baseRelativePath</span><span class="p">?</span><span class="nx">if_exists</span> <span class="o">!=</span> <span class="dl">""</span><span class="o">></span> - <span class="p">,</span><span class="nx">baseRelativePath</span><span class="p">:</span> <span class="dl">"</span><span class="s2"><@s.url value='${parameters.baseRelativePath}' includeParams='none' encode='false' /></span><span class="dl">"</span> - <span class="p">,</span><span class="nx">baseScriptUri</span><span class="p">:</span> <span class="dl">"</span><span class="s2"><@s.url value='${parameters.baseRelativePath}' includeParams='none' encode='false' /></span><span class="dl">"</span> - <span class="o"><</span><span class="err">#</span><span class="k">else</span><span class="o">></span> - <span class="p">,</span><span class="na">baseRelativePath</span><span class="p">:</span> <span class="dl">"</span><span class="s2">${base}/struts/dojo/</span><span class="dl">"</span> - <span class="p">,</span><span class="na">baseScriptUri</span><span class="p">:</span> <span class="dl">"</span><span class="s2">${base}/struts/dojo/</span><span class="dl">"</span> - <span class="o"><</span><span class="sr">/#if> </span><span class="err"> -</span> <span class="o"><</span><span class="err">#</span><span class="k">if</span> <span class="nx">parameters</span><span class="p">.</span><span class="nx">locale</span><span class="p">?</span><span class="nx">if_exists</span> <span class="o">!=</span> <span class="dl">""</span><span class="o">></span> - <span class="p">,</span><span class="nx">locale</span><span class="p">:</span> <span class="dl">"</span><span class="s2">${parameters.locale}</span><span class="dl">"</span> - <span class="o"><</span><span class="sr">/#if</span><span class="err">> -</span> <span class="o"><</span><span class="err">#</span><span class="k">if</span> <span class="nx">parameters</span><span class="p">.</span><span class="nx">extraLocales</span><span class="p">?</span><span class="nx">exists</span><span class="o">></span> - <span class="p">,</span><span class="nx">extraLocale</span><span class="p">:</span> <span class="p">[</span> - <span class="o"><</span><span class="err">#</span><span class="nx">list</span> <span class="nx">parameters</span><span class="p">.</span><span class="nx">extraLocales</span> <span class="k">as</span> <span class="nx">locale</span><span class="o">></span> - <span class="dl">"</span><span class="s2">${locale}</span><span class="dl">"</span><span class="o"><</span><span class="err">#</span><span class="k">if</span> <span class="nx">locale_has_next</span><span class="o">></span><span class="p">,</span><span class="o"><</span><span class="sr">/#if</span><span class="err">> -</span> <span class="o"><</span><span class="sr">/#list</span><span class="err">> -</span> <span class="p">]</span> - <span class="o"><</span><span class="sr">/#if</span><span class="err">> -</span> <span class="p">,</span><span class="na">parseWidgets</span> <span class="p">:</span> <span class="nx">$</span><span class="p">{</span><span class="nx">parameters</span><span class="p">.</span><span class="nx">parseContent</span><span class="p">?</span><span class="nx">string</span><span class="p">}</span> - - <span class="p">};</span> -<span class="nt"></script></span> - -<span class="nt"><</span><span class="na">#if</span> <span class="na">parameters.compressed</span><span class="err">?</span><span class="na">default</span><span class="err">(</span><span class="na">true</span><span class="err">)</span><span class="nt">></span> - <span class="nt"><</span><span class="na">#assign</span> <span class="na">dojoFile=</span><span class="s">"dojo.js"</span><span class="nt">></span> -<span class="nt"><</span><span class="na">#else</span><span class="nt">></span> - <span class="nt"><</span><span class="na">#assign</span> <span class="na">dojoFile=</span><span class="s">"dojo.js.uncompressed.js"</span><span class="nt">></span> -<span class="nt"></</span><span class="err">#</span><span class="nt">if></span> - -<span class="nt"><</span><span class="na">#if</span> <span class="na">parameters.cache</span><span class="err">?</span><span class="na">default</span><span class="err">(</span><span class="na">true</span><span class="err">)</span><span class="nt">></span> - <span class="nt"><</span><span class="na">#assign</span> <span class="na">profile=</span><span class="s">"struts_"</span><span class="nt">></span> -<span class="nt"><</span><span class="na">#else</span><span class="nt">></span> - <span class="nt"><</span><span class="na">#assign</span> <span class="na">profile=</span><span class="s">""</span><span class="nt">></span> -<span class="nt"></</span><span class="err">#</span><span class="nt">if></span> - -<span class="nt"><</span><span class="na">#if</span> <span class="na">parameters.baseRelativePath</span><span class="err">?</span><span class="na">if_exists</span> <span class="err">!=</span> <span class="err">""</span><span class="nt">></span> - <span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">type=</span><span class="s">"text/javascript"</span> - <span class="na">src=</span><span class="s">"<@s.url value='${parameters.baseRelativePath}/${profile}${dojoFile}' includeParams='none' encode='false' />"</span><span class="nt">></script></span> -<span class="nt"><</span><span class="na">#else</span><span class="nt">></span> - <span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">type=</span><span class="s">"text/javascript"</span> - <span class="na">src=</span><span class="s">"${base}/struts/dojo/${profile}${dojoFile}"</span><span class="nt">></script></span> -<span class="nt"></</span><span class="err">#</span><span class="nt">if></span> - -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">type=</span><span class="s">"text/javascript"</span> - <span class="na">src=</span><span class="s">"${base}/struts/ajax/dojoRequire.js"</span><span class="nt">></script></span> -<span class="nt"><</span><span class="na">#if</span> <span class="na">parameters.debug</span><span class="err">?</span><span class="na">default</span><span class="err">(</span><span class="na">false</span><span class="err">)</span><span class="nt">></span> -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">hostenv</span><span class="p">.</span><span class="nx">writeIncludes</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span> -<span class="nt"></script></span> -<span class="nt"></</span><span class="err">#</span><span class="nt">if></span> -<span class="nt"><link</span> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"${base}/struts/xhtml/styles.css"</span> <span class="na">type=</span><span class="s">"text/css"</span><span class="nt">/></span> - -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">src=</span><span class="s">"${base}/struts/utils.js"</span> <span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></script></span> -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">src=</span><span class="s">"${base}/struts/xhtml/validation.js"</span> <span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></script></span> -<span class="nt"><script </span><span class="na">language=</span><span class="s">"JavaScript"</span> <span class="na">src=</span><span class="s">"${base}/struts/css_xhtml/validation.js"</span> <span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></script></span></code></pre></figure> +<figure class="highlight"><pre><code class="language-html" data-lang="html">404: Not Found</code></pre></figure> <blockquote> <p>If you are having trouble getting the AJAX theme to work, you should include the above JavaScript in your page manually, @@ -230,11 +150,7 @@ changing “isDebug: false” to “isDebug: true”. This will log out debuggi <p>Note that Dojo is configured to use the same character encoding specified in <code class="language-plaintext highlighter-rouge">struts.xml</code> , typically UTF-8. For a simple example of how to use the <a href="dojo-head-tag">head</a> tag with the AJAX theme, simply do the following in your HTML:</p> -<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt"><</span><span class="err">%@</span> <span class="na">taglib</span> <span class="na">prefix=</span><span class="s">"s"</span> <span class="na">uri=</span><span class="s">"/struts-tags"</span> <span class="err">%</span><span class="nt">></span> -<span class="nt"><</span><span class="err">%@</span> <span class="na">taglib</span> <span class="na">prefix=</span><span class="s">"sx"</span> <span class="na">uri=</span><span class="s">"/struts-dojo-tags"</span> <span class="err">%</span><span class="nt">></span> -<span class="c"><!--// START SNIPPET: common-include--></span> -<span class="nt"><sx:head</span> <span class="na">cache=</span><span class="s">"false"</span><span class="nt">/></span> -<span class="c"><!--// END SNIPPET: common-include--></span></code></pre></figure> +<figure class="highlight"><pre><code class="language-html" data-lang="html">404: Not Found</code></pre></figure> <blockquote> <p>The above sample is from Struts trunk; for 2.0.6 you should use <code class="language-plaintext highlighter-rouge"><s:head debug="true"/></code>.</p>