blob: b98a132b5cbba3889215cfdc455cb3053bb69b9f [file] [log] [blame]
<?xml version="1.0"?>
<document url="release-notes-1.0-b3.html">
<properties>
<title>Struts Release Notes (Version 1.0-beta-3)</title>
</properties>
<body>
<section name="Introduction" href="Introduction">
<p>This document contains the release notes for
<strong>Version 1.0-beta-3</strong> of the Struts Framework,
and covers changes that have taken place since
<a href="release-notes-1.0-b2.html">Version 1.0-beta-2</a>
was released. The following sections cover
<a href="#New">New Features</a> and <a href="#Changes">Changes</a>
to Struts.</p>
</section>
<section name="What's Included?" href="Included">
<p>The binary distribution of this release includes the following
files relevant to Struts 1.0:</p>
<ul>
<li><code>INSTALL</code> - Brief installation instructions. See
the <code>Struts Documentation Application</code>, or online at
<a href="http://jakarta.apache.org/struts/">http://jakarta.apache.org/struts/</a>
for more information.</li>
<li><code>LICENSE</code> - The Apache Software Foundation license that
defines the terms under which you can use Struts (and other software
licensed by Apache).</li>
<li><code>README</code> - A brief introduction to Struts.</li>
<li><code>lib/</code> - Directory containing files you will need in
your own applications. The individual files of interest are:
<ul>
<li><code>struts.jar</code> - JAR file that contains the compiled
Java classes for both version 0.5 and 1.0 of Struts. You must
place this file in the <code>/WEB-INF/lib</code> directory of
your web application.</li>
<li><code>struts-xxxxx.tld</code> - The tag library descriptor files
for the Struts 1.0 tag libraries (bean, html, logic, and
template). You must place these files in the <code>/WEB-INF</code>
directory of your web application, and reference them with
appropriate <code>&lt;taglib&gt;</code> directives in your
web.xml file. <strong>NOTE</strong> - The struts-form.tld
file is deprecated; you should use the struts-html.tld file
instead.</li>
<li><code>jdbc2_0-stdext.jar</code> - The JDBC 2.0 Optional Package
API classes (package <code>javax.sql</code>). You will need to
include this file in the <code>/WEB-INF/lib</code> directory
of your application, if it is not already made visible to web
applications by your servlet container.</li>
<li><code>struts-config_1_0.dtd</code> - The document type descriptor
(DTD) for the Struts configuration file (which is typically named
<code>/WEB-INF/struts-config.xml</code>. Your configuration file
will be validated against an internal copy of this DTD -- this
copy is available for reference purposes only.</li>
<li><code>web-app_2_2.dtd</code> - The document type descriptor (DTD)
for web.xml files conforming to the Servlet 2.2 specification.
This copy is for reference purposes only.</li>
<li><code>web-app_2_3.dtd</code> - The document type descriptor (DTD)
for web.xml files conforming to the Servlet 2.3 specification.
This copy is for reference purposes only.</li>
</ul></li>
<li><code>webapps/</code> - Web Application Archive (WAR) files for the
web applications that are included with Struts.</li>
</ul>
<p>For backwards compatibility only, the binary distribution also
includes the following files that conform to the Struts 0.5 milestone
release APIs. Usage of these files and APIs is deprecated, and they
will be removed from releases after Struts 1.0:</p>
<ul>
<li><code>lib/</code> - Directory containing files you will need in
your own applications. The individual files of interest are:
<ul>
<li><code>struts.jar</code> - JAR file that contains the compiled
Java classes for both version 0.5 and 1.0 of Struts. You must
place this file in the <code>/WEB-INF/lib</code> directory of
your web application.</li>
<li><code>struts.tld</code> - The tag library descriptor file for
the 0.5 version of the Struts tags. You must place this file
in the <code>/WEB-INF</code> directory of your web application,
and reference it with appropriate <code>&lt;taglib&gt;</code>
directives in your web.xml file.</li>
</ul></li>
</ul>
</section>
<section name="What's New?" href="New">
<p><strong>DEPRECATIONS</strong> - The entire custom tag library
that is documented in <code>struts.tld</code> has been deprecated.
These tags correspond to the Struts 0.5 functionality that is also
deprecated, and have been replaced (and considerably enhanced) in
the various individual tag libraries.</p>
<p><strong>DEPRECATIONS</strong> - The entire custom tag library
that is documented in <code>struts-form.tld</code> has been deprecated
because this library has been renamed <code>struts-html.tld</code>
instead.</p>
<p><strong>DEPRECATIONS</strong> - Several classes in the
<code>org.apache.struts.util</code> package have been marked as
deprecated in their entirety, because they will be replaced by
versions from the Jakarta Commons project once those packages are
released. These deprecated classes will <strong>not</strong> be
removed until a release after Struts 1.1. In general, the only
change required inside user code using these classes will be to
update the <code>import</code> statement. The following classes
are involved:</p>
<ul>
<li>ArrayStack</li>
<li>BeanUtils</li>
<li>ConvertUtils</li>
<li>FastArrayList</li>
<li>FastHashMap</li>
<li>FastTreeMap</li>
<li>GenericConnection</li>
<li>GenericDataSource</li>
<li>PropertyUtils</li>
</ul>
<p>The following new features have been added to the basic controller
framework (package <code>org.apache.struts.action</code>):</p>
<p>The following new features have been added to the utility classes
(package <code>org.apache.struts.util</code>):</p>
<ul>
<li><code>GenericDataSource</code> can now be configured with a "ping"
type command (via the <code>pingCommand</code> and
<code>pingQuery</code> properties) that will be executed before
returning a connection from <code>getConnection()</code>. This
can be used to detect stale connections due to timeouts or a
database server restart. If the ping command fails, the corresponding
connection will be thrown away, and a new one allocated.</li>
</ul>
<p>The following new features have been added to the
<em>struts-html</em> custom tag library (package
<code>org.apache.struts.taglib.html</code>):</p>
<ul>
<li>It is now possible to use any object in the values and labels
collections for the <code>&lt;html:options&gt;</code> tag.</li>
<li>Added the missing <code>tabindex</code> attribute to the
<code>&lt;html:radio&gt;</code> tag.</li>
<li>On the <code>&lt;html:img&gt;</code>, <code>&lt;html:link&gt;</code>,
and <code>&lt;html:rewrite&gt;</code> tags, you can now specify
arbitrary object values in the <code>Map</code> used to include
dynamic request attributes, as long as the <code>toString()</code>
method renders the values appropriately.</li>
<li>In all cases where "minimized" attributes were being generated
(<code>checked</code>, <code>disabled</code>, <code>multiple</code>,
<code>readonly</code>, and <code>selected</code>), the generated
attribute has a value (such as <code>selected="true"</code>) for
XML syntax compatibility.</li>
</ul>
<p>The following new features have been added to the
<em>struts-logic</em> custom tag library (package
<code>org.apache.struts.taglib.logic</code>):</p>
<p>The following new features have been added to the
<em>struts-template</em> custom tag library (package
<code>org.apache.struts.taglib.template</code>):</p>
<p>The following new features have been added to the Struts Documentation
application (and corresponding contents on the Struts web site):</p>
</section>
<section name="Changes and Bug Fixes" href="Changes">
<p>The following changes and bug fixes have occurred in the configuration
files related to Struts:</p>
<ul>
<li>The DTD for <code>struts-config.xml</code> files had an incorrect
ENTITY declaration for the <code>Location</code> element.</li>
<li>The DTD for version 2.3 web application deployment descriptors has
been updated to the most recent (Proposed Final Draft 2) version.</li>
</ul>
<p>The following changes and bug fixes have occurred in the basic
controller framework (package <code>org.apache.struts.action</code>):</p>
<p>The following changes and bug fixes have occurred in the utilities
(package <code>org.apache.struts.util</code>):</p>
<ul>
<li>The <code>FastArrayMap()</code>, <code>FastHashMap()</code>, and
<code>FastTreeMap()</code> classes not correctly implement the
<code>clone()</code>, <code>equals()</code>, and
<code>hashCode()</code> methods consistent with the requirements
of the Java standard Collections APIs.</li>
<li><code>PropertyUtils</code> can now access public methods defined
in nested interfaces.</li>
<li>A misleading error message returned by <code>BeanUtils</code>
has been corrected.</li>
<li>Work around a problem compiling the <code>FastXxxxx</code> classes
with the VAJ compiler, because the superclass already includes a
private class named <code>Iterator</code>.</li>
<li>Remove a JDK 1.3 dependency that prevented compiling
<code>BeanUtils</code> under JDK 1.2.</li>
<li>Generate "&amp;amp;" instead of "&amp;" in query strings that
contain more than one name/value pair.</li>
</ul>
<p>The following changes and bug fixes have occurred in the
<em>struts-html</em> custom tag library (package
<code>org.apache.struts.taglib.html</code>):</p>
<ul>
<li>Restore the ability of the <code>&lt;html:button&gt;</code> tag to
retrieve the button text from the nested body content (so that it
can be easily internationalized).</li>
<li>If the property name used in the <code>labelProperty</code>
attribute of an <code>&lt;html:options&gt;</code> tag is invalid,
report the correct property name in the error message.</li>
</ul>
<p>The following changes and bug fixes have occurred in the
<em>struts-logic</em> custom tag library (package
<code>org.apache.struts.taglib.logic</code>):</p>
<p>The following changes and bug fixes to the Struts Documentation
application (and corresponding contents on the Struts web site) have
occurred:</p>
<ul>
<li>Fix a reference to an old Struts 0.5 tag in one of the User's Guide
examples.</li>
<li>Fix the stylesheet used to transform XML into HTML documentation so
that nested <code>&lt;body&gt;</code> tags are not created.</li>
<li>The DTD for Struts configuration files has been refined to highlight
the fact that you should use <code>&lt;set-property&gt;</code>
elements to configure your data source implementation.</li>
</ul>
<p>The following changes and bug fixes to the Struts Example Application
have occurred:</p>
<p>The following changes and bug fixes to the Struts Template Example
Application have occurred:</p>
</section>
</body>
</document>