This document contains the release notes for Version 1.1 Beta 1 of the Struts Framework, and covers changes that have taken place since Version 1.0.1 was released. The following sections cover New Features and Changes to Struts.
The binary distribution of this release includes the following files relevant to Struts:
INSTALL
- Brief installation instructions. See
the
Struts Documentation Application
, or online at
http://jakarta.apache.org/struts/
for more information.
LICENSE
- The Apache Software Foundation license that
defines the terms under which you can use Struts (and
other software
licensed by Apache).
README
- A brief introduction to Struts.
lib/
- Directory containing files you will need in
your own applications. The individual files of interest
are:
commons-*.jar
- Release packages from the
Jakarta Commons
Project
that Struts relies on. You are welcome to use
these
classes in your own applications. These JAR files
should be
copied into the
/WEB-INF/lib
directory of
your web application.
struts.jar
- JAR file that contains the compiled
Java classes of Struts. You must
place this file in the
/WEB-INF/lib
directory of
your web application.
struts-xxxxx.tld
- The tag library descriptor files
for the Struts 1.0 tag libraries (bean, html,
logic, and
template). You must place these files in the
/WEB-INF
directory of your web application, and reference
them with
appropriate
<taglib>
directives in your
web.xml file.
NOTE
- The struts-form.tld
file is deprecated; you should use the
struts-html.tld file
instead.
jdbc2_0-stdext.jar
- The JDBC 2.0 Optional Package
API classes (package
javax.sql
). You will need to
include this file in the
/WEB-INF/lib
directory
of your application, if it is not already made
visible to web
applications by your servlet container.
struts-config_1_1.dtd
- The document type descriptor
(DTD) for the Struts configuration file (which is
typically named
/WEB-INF/struts-config.xml
. Your configuration file
will be validated against an internal copy of this
DTD -- this
copy is available for reference purposes only.
web-app_2_2.dtd
- The document type descriptor (DTD)
for web.xml files conforming to the Servlet 2.2
specification.
This copy is for reference purposes only.
web-app_2_3.dtd
- The document type descriptor (DTD)
for web.xml files conforming to the Servlet 2.3
specification.
This copy is for reference purposes only.
webapps/
- Web Application Archive (WAR) files for the
web applications that are included with Struts.
DEPRECATIONS :
struts-config.dtd
in favor of
struts-config_1_1.dtd
.
COMMONS PACKAGES
:
Several components of Struts 1.0 have been found to be useful
in
general Java development (and not just useful for building
Struts-based
web applications), and have been migrated into the
Jakarta Commons
Project
.
As a result, the current development version of Struts has
been modified
to rely on the Commons packages containing these classes,
rather than the
Struts internal versions. In nearly every case, this involved
changing
only the
import
statements at the top of your classes. Any
applications that utilize these classes will need to be
modified in the
same way. The following Commons packages contain the
replacements for the
corresponding Struts 1.0 classes:
org.apache.struts.utils.BeanUtils
,
org.apache.struts.utils.ConvertUtils
, and
org.apache.struts.utils.PropertyUtils
.
org.apache.struts.util.ArrayStack
,
org.apache.struts.util.FastArrayList
,
org.apache.struts.util.FastHashMap
,
org.apache.struts.util.FastTreeMap
.
org.apache.struts.digester.*
.
XML PARSER PREREQUISITE UPDATED : Struts now depends on an XML parser that conforms to the JAXP/1.1 (rather than JAXP/1.0) APIs. Parser known to work include the JAXP/1.1 reference implementation, and Xerces 1.3.1.
CONTRIB Directory
:
A new directory (
contrib
) in the CVS source repository has
been added to accumulate Struts add-on extensions that are
generally
useful but have not yet been integrated into the standard code
base.
UNIT TESTING SUPPORT : Support for running unit tests on Struts components and custom tags is being added, utilizing the Jakarta Cactus product.
The following new features have been added to the basic
controller
framework (package
org.apache.struts.action
):
ActionMessages
class will support a superset of
the capabilities of
ActionErrors
, and will be useful as
a collection of general purpose messages, not just errors.
The following new features have been added to the utility
classes
(package
org.apache.struts.util
):
The following new features have been added to the
struts-bean
custom tag library (package
org.apache.struts.taglib.bean
):
name
,
property
, and
scope
attributes to the
<bean:message>
tag, so that the message source key can be obtained
dynamically from
a bean or bean property.
The following new features have been added to the
struts-html
custom tag library (package
org.apache.struts.taglib.html
):
<bean:message>
so that
the message resource key can be obtained dynamically from
a bean.
<html:messages>
tag to iterate through
a message collection in the new
ActionMessages
class.
ActionForm
will now call
reset()
if it
instantiates the ActionForm bean.
The following new features have been added to the
struts-logic
custom tag library (package
org.apache.struts.taglib.logic
):
<logic:empty>
and
<logic:notEmpty>
tags, which are similar to
<logic:present>
and
<logic:notPresent>
except for the treatment of
empty strings.
The following new features have been added to the
struts-template
custom tag library (package
org.apache.struts.taglib.template
):
The following new features have been added to the Struts Documentation application (and corresponding contents on the Struts web site):
The following changes and bug fixes have occurred in the configuration files related to Struts:
The following changes and bug fixes have occurred in the basic
controller framework (package
org.apache.struts.action
):
ActionForm
class is now truly serializable, because
the two non-serializable instance variables (servlet and
multipartRequestHandler) have been made transient.
However, if you
actually do serialize and deserialize such instances, it
is your
responsibility to reset these two properties.
The following changes and bug fixes have occurred in the file
upload
package (package
org.apache.struts.upload
):
The following changes and bug fixes have occurred in the
utilities
(package
org.apache.struts.util
):
ConvertUtils.convertCharacter()
will now detect empty strings and return the default
value.
The following changes and bug fixes have occurred in the
struts-bean
custom tag library (package
org.apache.struts.taglib.bean
):
<html:errors>
when the property tag is
specified, errors are no longer printed if the specified
property
has no errors. Previously errors were always printed !
Future
enhancements would include additional attributes to always
turn
off the header or footer.
The following changes and bug fixes have occurred in the
struts-html
custom tag library (package
org.apache.struts.taglib.html
):
The following changes and bug fixes have occurred in the
struts-logic
custom tag library (package
org.apache.struts.taglib.logic
):
The following changes and bug fixes to the Struts Documentation application (and corresponding contents on the Struts web site) have occurred:
The following changes and bug fixes to the Struts Example Application have occurred:
The following changes and bug fixes to the Struts Template Example Application have occurred:
The following changes and bug fixes to the Struts Exercise Taglib Example Application have occurred:
Next: Installation