This section contains release notes for changes that have taken place since Version 1.1 was released.
The binary distribution of this release includes the following files relevant to Struts:
INSTALL.txt
- Brief installation instructions. For more detail,
see the
Struts User Guide
, either through the Struts Documentation application
or online at
http://struts.apache.org/
.
LICENSE.txt
- The Apache Software Foundation license that defines
the terms under which you can use Struts (and other
software licensed by Apache).
contrib/
- Additional libraries developed by the Struts team
which are not yet part of the core distribution.
lib/
- Directory containing files you will need in your own
applications. The individual files of interest are:
antlr-#.#.jar
- ANTLR, ANother Tool for Language
Recognition, a public domain library made
available by
antlr.org
.
commons-*-#.#.jar
- Various 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.
jakarta-oro-#.#.jar
- JAR file containing the Jakarta ORO package,
utilitied by the Struts Valdiator. You must
place this file in the
/WEB-INF/lib
directory of your web application to use the
Struts Validator package.
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-*.tld
- The tag library descriptor files for the
Struts tag libraries (bean, html, logic, and
nested). When these taglibs are used, 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.
struts-config_1_2.dtd
- The Document Type Definition (DTD) for the
Struts 1.2 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.
struts-config_1_1.dtd
- The Document Type Definition (DTD) for the
Struts 1.1 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.
struts-config_1_0.dtd
- The Document Type Definition (DTD) for the
Struts 1.0 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 Definition (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 Definition (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.
This section highlights new features added and critical changes made since the last release. Other interesting changes are listed in the What Changed? section. Subscribers to the struts-dev mailing list , receive reports of all changes as they are made.
Deprecations - Many constructs were deprecated for the Struts 1.1 release, most of which have now been removed. Before moving to this release, you should clean-compile your application with deprecation warnings enabled. Alternatives should be available for all decprecated constructs. You are strongly advised to resolve all Struts 1.1. deprecations before moving to this release. Removed constructs most likely to affect developers are:
org.apache.struts.Action
statics: Use
org.apache.struts.Global
statics instead.
Action.perform
: Use
Action.execute
instead.
ActionErrors
with the preferred
ActionMessages
to ensure correct operation.
TagUtils and ModuleUtils
- Many utility methods previously found in
org.apache.struts.utils.RequestUtils
have been moved to
org.apache.struts.taglibs.TagUtils
or
org.apache.struts.utils.ModuleUtils
.
GenericDataSource / GenericConnection implementations removed - The datasources manager is still supported, but our own datasource implementation is not. You are welcome to plug in your own DataSource implementation, but we do not have the resources to maintain one of our own. If your container does not supply a DataSource implementation, the DBCP package from the Jakarta Commons is suggested.
Validator enhancements
stopOnFirstError
, on the Validator PlugIn to false.
Details
...
validateUrl
rule lets you check if a property contains a
well-formed URL.
ModuleConfigVerifier
- While not exactly new, a standard class for verifying
module configurations is also available in the PlugIn
packages. As it stands, the
ModuleConfigVerifier
mainly confirms that various components of the Struts
object graph were loaded. However, ambitious developers
could extend this class with additional checks to ensure
the Struts configuration is internally consistent.
Maven project files - While still under development, significant progress has been made toward putting the Struts build process under Maven . The core JAR and TLDs can be built using Maven, leveraging the shared Maven repository for our many dependencies. You can find the current maven.xml and project.xml in the root directory of the Struts source distribution. However, at this time, the original Ant build files are still the official mechanism for building Struts.
New Configuration DTD
- The
struts-config_1_2.dtd
is preferred to the deprecated Struts Configuration 1.1
DTD. The new DTD adds two new elements <display-name>
and <description> to the struts-config element.
These elements are for use by struts config file tools and
document generation. In the Struts 1.2.x series, existing
Struts configuration files can be loaded using either DTD
version.
New Taglib URIs - The URIs for the tag libraries have been changed to reflect the move of Struts from Jakarta to an Apache top level project. For compatibility purposes, TLDs with the old URIs are still available, but users are encouraged to update their usage accordingly.
New Committers - We are pleased to welcome Steve Raeburn, Don Brown, Joe Germuska and Niall Pemberton to the team of Struts Committers.
Struts-Chain - Still experimental, this new "contrib" package utilizes the new Chain of Responsibilty package in the Jakarta Sandbox to create a new breed of RequestProcessor. Look for this to become the default implementation in a future release.
MappingDispatchAction - A new standard Action that dispatches to a method named by the ActionMapping parameter.
Cancel handlers - DispatchAction, LookupDispatchAction, and MappingDispatchAction - Now provide default cancel handler that can be overridden. It also also possible to specify the default handler name.
Session-scoped ActionMessages - You can now save ActionMessages in the session and have them cleaned up after the first use. There is now an alternate form of Action.saveMessages() that stores messages in the session. ActionMessages.isAccessed() returns true after the messages have been retrieved one time. RequestProcessor.processCachedMessages() queries isAccessed() to determine if it should remove the messages from the session.
JA Mailreader - The Struts Mailreader Example application now includes a Japanese resource file.
Tiles EL - The Tiles tags are now avaiable through the Struts EL taglib, which is based on JSTL.
Wildcard Mappings - You can now use wildcards in your action-mappings. For details see Using Wildcards in ActionMappings as well as the Struts Mailreader Example application.
Action attributes - An Action attribute has been added to the html img tag, to match what's available on the html link tag now.
Module attribute
- A new "module" attribute is available on the forward
element as well as several of the core tags. This
attribute allows you to specify another module by name (or
"prefix") to create direct links between modules. The new
module attribute is preferered to the
contextRelative
attribute and can often be used in lieu of a
"SwitchAction".
This section highlights some of the changes that have taken place since the last release. Subscribers to the struts-dev mailing list , receive reports of all changes as they are made.
General Changes
/conf/shared
]
org.apache.struts
]
org.apache.struts.action
]
org.apache.struts.actions
]
org.apache.struts.config
]
/contrib
]
org.apache.struts.plugins
]
org.apache.struts.taglib
]
org.apache.struts.taglib.bean
]
org.apache.struts.taglib.html
]:
org.apache.struts.taglib.logic
]:
org.apache.struts.taglib.nested
]:
org.apache.struts.taglib.tiles
]:
org.apache.struts.tiles
]:
org.apache.struts.upload
]:
org.apache.struts.util
]:
org.apache.struts.validator
]
struts-documentation.war
]:
struts-example.war
]:
struts-examples.war
]