craigmcc 01/02/21 20:48:13
Modified: src/doc project.xml release.xml
Log:
Update the release notes document to reflect all the changes since early
December, which is the last time it was updated.
Update the navigation links on the documentation app:
* Remove the 1.0 TODO list (it is TO-DONE :-)
* Remove the 1.0b1 release plan link
* Update the version number on the link to the release notes
* Add a link to the Resources page from the User's Guide
Still need to update the main documentation page to reflect the new
release.
Revision Changes Path
1.22 +7 -8 jakarta-struts/src/doc/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/jakarta-struts/src/doc/project.xml,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- project.xml 2001/02/20 06:09:41 1.21
+++ project.xml 2001/02/22 04:48:12 1.22
@@ -6,14 +6,13 @@
<title>Struts Framework</title>
<menu name="Documentation">
- <item name="Home" href="index.html"/>
- <item name="Installation" href="installation.html"/>
- <item name="User Guide (1.0)" href="userGuide/index.html"/>
- <item name="Javadoc" href="api/index.html"/>
- <item name="Release Notes (1.0)" href="release.html"/>
- <item name="Release Plan (1.0b1)" href="release-plan-1.0b1.html"/>
- <item name="TODO List (1.0)" href="todo-1.0.html"/>
- <item name="TODO List (1.1)" href="todo-1.1.html"/>
+ <item name="Home" href="index.html"/>
+ <item name="Installation" href="installation.html"/>
+ <item name="User Guide (1.0)" href="userGuide/index.html"/>
+ <item name="Javadoc" href="api/index.html"/>
+ <item name="Release Notes (1.0b1)" href="release.html"/>
+ <item name="Resources" href="userGuide/resources.html"/>
+ <item name="TODO List (1.1)" href="todo-1.1.html"/>
</menu>
<menu name="Java Developer Guides">
1.14 +172 -18 jakarta-struts/src/doc/release.xml
Index: release.xml
===================================================================
RCS file: /home/cvs/jakarta-struts/src/doc/release.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- release.xml 2000/12/08 04:44:31 1.13
+++ release.xml 2001/02/22 04:48:13 1.14
@@ -3,15 +3,16 @@
<properties>
<author>Craig R. McClanahan</author>
- <title>Struts Release Notes (Version 1.0)</title>
+ <title>Struts Release Notes (Version 1.0-beta-1)</title>
</properties>
<body>
<section name="Introduction" href="Introduction">
- <p>This document contains the release notes for <strong>Version 1.0</strong>
- of the Struts Framework. The following sections cover
+ <p>This document contains the release notes for
+ <strong>Version 1.0-beta-1</strong> of the Struts Framework.
+ The following sections cover
<a href="#New">New Features</a> and <a href="#Changes">Changes</a> since
the <strong>Version 0.5</strong> of Struts was made available.</p>
@@ -68,19 +69,14 @@
-- simply reset boolean fields to <code>false</code> and they will be
set to <code>true</code> (during auto-population of the form bean
properties) only if the checkbox was actually checked.</li>
+ <li>All servlet context attributes created by the Struts controller servlet
+ itself (but not the Struts Example application) now implement
+ <code>java.io.Serializable</code>.</li>
+ <li>The <code>Action</code> class now includes support for "transactional
+ tokens", so that you can detect cases where the user submitted a form,
+ pressed the back arrow key, and then resubmitted the form again.</li>
</ul>
- <p>The following major new features have been added to the utility classes
- library (package <code>org.apache.struts.util</code>):</p>
- <ul>
- <li>Initial implementation of a JDBC data source that implements the
- <code>javax.sql.DataSource</code> interface from the JDBC 2.0 Standard
- Extensions API. This implementation may be configured based on new
- extensions to the Struts configuration file DTD, and the configured
- data source / connection pool is made available to application components
- as a servlet context attribute (i.e. an application scope bean).</li>
- </ul>
-
<p>The following major new features have been added to the
<em>struts-bean</em> custom tag library (package
<code>org.apache.struts.taglib.bean</code>):</p>
@@ -107,14 +103,16 @@
attribute referring to a JSP bean now also accept an optional
<code>scope</code> attribute to define the scope in which to search
for that bean. If not specified, all scopes are searched.</li>
+ <li>The <code><bean:size></code> tag will create a bean that stores
+ the number of elements of an array, Collection, or Map.</li>
</ul>
- <p>The <em>struts-form</em> custom tag library has been created (package
- <code>org.apache.struts.taglib.form</code>), based on the old tags that
+ <p>The <em>struts-html</em> custom tag library has been created (package
+ <code>org.apache.struts.taglib.html</code>), based on the old tags that
were related to HTML form presentation. The following differences from
the old tags are notable:</p>
<ul>
- <li>You must now reference the "struts-form.tld" TLD to access these
+ <li>You must now reference the "struts-html.tld" TLD to access these
tags.</li>
<li>All attribute names matching JavaScript event handlers are now all
lower case (onClick --> onclick) to conform to XHTML.</li>
@@ -148,6 +146,56 @@
"struts-config.xml" file, if the <code>name</code>, <code>scope</code>,
and <code>type</code> attributes are not specified. This removes the
need to make changes in two places when these values are changed.</li>
+ <li>A new <code><image></code> tag has been added, to create
+ HTML input tags of type "image".</li>
+ <li>The <code><html:form></code> tag can now use the value you specify
+ for the <code>action</code> attribute to look up the corresponding
+ <code>ActionMapping</code> entry, and thereby derive the name and scope
+ of any defined form bean, plus the path to which the form should be
+ submitted. It works for cases where the controller servlet is extension
+ mapped or path mapped.</li>
+ <li>The <code><html:img></code> tag has been added, to render an HTML
+ <code><img></code> tag.</li>
+ <li>The <code><html:select></code> tag will now correctly display more
+ than one selected value when the <code>multiple="true"</code> attribute
+ is set.</li>
+ </ul>
+
+ <p>A new package of Actions and associated classes for handling file uploads
+ has been created (package <code>org.apache.struts.upload</code>):</p>
+ <ul>
+ <li>The basic package of file upload handling actions has been created.</li>
+ <li>An example application illustrating the use of the new features
+ has been added (<code>webapps/struts-upload.war</code>).</li>
+ </ul>
+
+ <p>The following major new features have been added to the utility classes
+ library (package <code>org.apache.struts.util</code>):</p>
+ <ul>
+ <li>Initial implementation of a JDBC data source that implements the
+ <code>javax.sql.DataSource</code> interface from the JDBC 2.0 Standard
+ Extensions API. This implementation may be configured based on new
+ extensions to the Struts configuration file DTD, and the configured
+ data sources / connection pools are made available to application
+ components as a servlet context attribute (i.e. an application scope
+ bean).</li>
+ <li>The previous implementation of <code>MessageResources</code>, which was
+ ultimately based on <code>java.util.ResourceBundle</code>, has been
+ completely replaced and re-implemented. The primary features of the
+ new implementation are:
+ <ul>
+ <li>All components stored as servlet context attributes now implement
+ the <code>java.io.Serializable</code> interface, to better integrate
+ with application servers that prefer this.</li>
+ <li>The <code>MessageResources</code> and <code>MessageResourcesFactory</code>
+ classes have been abstracted so that you can easily create your
+ own implementations that derive their message strings from resources
+ other than property files.</li>
+ </ul></li>
+ <li>Property gets and sets made through <code>PropertyUtils</code> can now
+ use a new syntax for indexed and nested properties.</li>
+ <li>Conversion to and from numeric types now support a configurable default
+ value to use when conversion fails.</li>
</ul>
<p>The following major new features have been added to the
@@ -160,7 +208,32 @@
Note that the action classes have been coded so that they work with
either request scope or session scope beans.</li>
<li>The Struts Example Application has been updated to utilize the new
- (separated) custom tag libraries, rather than the old combined one.</li>
+ (separated) custom tag libraries, rather than the old combined one,
+ as well as the latest features of the tags being used.</li>
+ <li>A "Walking Tour of the Struts Example Application" has been added, to
+ highlight features for newcomers to Struts.</li>
+ </ul>
+
+ <p>The following major new documentation updates have been added to
+ Struts:</p>
+ <ul>
+ <li>All documentation is generated from XML input files, using a standard
+ stylesheet to create a common look and feel.</li>
+ <li>Developer Guides for the Java classes in the
+ <code>org.apache.struts.digester</code> and
+ <code>org.apache.struts.util</code> packages.</li>
+ <li>Developer Guides for the following Struts custom tag libraries have
+ been added: <code>struts-bean</code>, <code>struts-html</code>,
+ <code>struts-logic</code>, and <code>struts-template</code>.</li>
+ <li>The Struts Users Guide has been brought up to date with respect to
+ all of the changes since Struts 0.5, and separated into multiple
+ HTML pages for easy reading.</li>
+ <li>Installation information has been updated to include platform-specific
+ notes, issues, and workarounds.</li>
+ <li>A new resources page now points at external information and resources
+ related to Struts.</li>
+ <li>A new example application, <code>struts-blank</code>, is included as a
+ quick starting point for new application development.</li>
</ul>
</section>
@@ -220,6 +293,9 @@
<li>When the controller servlet processes an <code>ActionForward</code> that
has the <code>redirect</code> property set, it now performs URL rewriting
to maintain session state even if cookies are not being used.</li>
+ <li>The <code>ActionErrors</code> class now includes a method that will
+ return an Iterator over the error messages related to a particular
+ input field.</li>
</ul>
<p>The following changes and bug fixes to the Digester module
@@ -228,6 +304,74 @@
<li>The <code>Digester.resolveEntity()</code> method has been enhanced
to correctly handle local URIs so that it works with resources loaded via
<code>Class.getResource()</code>.</li>
+ <li>The input source handed to the Digester is now closed, even if a
+ parsing exception is throw.</li>
+ </ul>
+
+ <p>The following changes and bug fixes to the <em>struts-bean</em> custom
+ tag library (package <code>org.apache.struts.taglib.bean</code>) have
+ occurred:</p>
+ <ul>
+ <li>By default, the <code><bean:write></code> tag will filter output
+ for characters sensitive to HTML. You can turn this off by adding a
+ <code>filter="false"</code> attribute.</li>
+ <li>When performing a <code><bean:include></code> in a page that is
+ part of a session, pass the session identifier along on the generated
+ request so that it will be part of the same session.</li>
+ <li>The <code><bean:define></code> tag can now create
+ beans directly from the <code>value</code> attribute, if desired.</li>
+ <li>The <code><bean:define></code> tag now accepts an optional
+ <code>toScope</code> attribute, to declare which scope the new bean
+ should be created in. The default remains <code>page</code> scope.</li>
+ <li>Default values can now be specified on <code><bean:cookie></code>,
+ <code><bean:header></code>, and
+ <code><bean:parameter></code> tags, which are used when the
+ corresponding value is not present in the current request.</li>
+ </ul>
+
+ <p>The following changes and bug fixes to the <em>struts-html</em> custom
+ tag library (package <code>org.apache.struts.taglib.html</code>) have
+ occurred:</p>
+ <ul>
+ <li><strong>WARNING</strong> - When the Struts 0.5 tag library was originally
+ split into separate libraries, this library was named
+ <em>struts-form</em>, to reflect the fact that the majority of tags
+ related to creating input forms. It has been renamed to
+ <em>struts-html</em> to reflect the fact that all of the tags in this
+ library are relevant only when building HTML-based user interfaces.</li>
+ <li>The <code><html:html></code> tag now supports a
+ <code>locale="true"</code> attribute that requests the same Locale
+ negotiation (based on the presence of an <code>Accept-Language</code>
+ header) that is performed by the controller servlet.</li>
+ <li>The <code><html:link></code> tag now supports the ability to add
+ a single request parameter (based on a bean property) in addition to the
+ ability to add request parameters from a Map.</li>
+ <li>The <code><html:errors></code> tag lets you select only the error
+ messages related to a particular input field, or all errors.</li>
+ <li>The <code><html:password></code> tag now optionally redisplays
+ the previous value of the input field.</li>
+ <li>The value returned by a <code><html:multibox></code> tag can now
+ be specified in the body of the tag, as well as via the
+ <code>value</code> attribute.</li>
+ </ul>
+
+ <p>The following changes and bug fixes to the <em>struts-logic</em>
+ custom tag library (package <code>org.apache.struts.taglib.logic</code>)
+ have occurred:</p>
+ <ul>
+ <li>The <code><logic:present></code> and
+ <code><logic:notPresent></code> tags now accept a <code>role</code>
+ attribute that allows you to detect whether the currently authenticated
+ user does, or does not, possess a particular security role.</li>
+ </ul>
+
+ <p>The following changes and bug fixes to the <em>struts-template</em>
+ custom tag library (package <code>org.apache.struts.taglib.template</code>)
+ have occurred:</p>
+ <ul>
+ <li>The <code><template:put></code> tag now accepts a
+ <code>direct</code> attribute that causes the content being put to be
+ rendered directly, rather than being included.</li>
</ul>
<p>The following changes and bug fixes to the Utilities package
@@ -244,6 +388,16 @@
<li>Fixed <code>PropertyUtils.copyProperties()</code> to skip cases where
the origin bean has a getter method but the destination bean does not
have a setter method.</li>
+ <li>Added <code>BeanUtils.cloneBean()</code> to create a new instance of
+ an existing bean, and copy all known properties, even if the bean class
+ does not implement <code>Cloneable</code>.</li>
+ <li>The <code>BeanUtils</code> class has been refactored so that it, and
+ the associated <code>ConvertUtils</code> and <code>PropertyUtils</code>
+ classes, can easily be used without having to have the servlet API
+ classes available on the classpath.</li>
+ <li>Property introspection is now smarter, so that you can access public
+ methods declared in an implemented interface, even if the class itself
+ is not public.</li>
</ul>
<p>The following changes and bug fixes to the Struts Example Application