These are the notes for the Struts 2.0.2 distribution.
For prior notes in this release series, see Release Notes 2.0.1
- If you are a Maven user, you might want to get started using the Maven Archetype.
- Another quick-start entry point is the blank application. Rename and deploy the WAR as a starting point for your own development.
Backward compatibility issues with prior development release
- Quickstart is removed in favor of the Maven Jetty plugin (WW-1524).
- As of Struts 2.0.2, Spring is a plugin (WW-1499). If an application specifies the Spring object factory in
struts.properties
, also include the struts2-spring-plugin.jar
on the application's classpath. The plugin uses Spring 2.0.2 by default but can be rebuild to use another recent version.
- Ideally, move the object factory setting to the XML configuration, using Constant Configuration].
- The Ajax theme is updated to Dojo 0.4, and some tag attributes have changed. See Ajax Tags for details.
New Features and Plugins
- Plugins are now documented in the Apache Struts 2 Plugin Registry.
- Annotations: @Result annotation now supports parameters (WW-1575).
- Ajax Tags: The Autocompleter AJAX tag wraps Dojo's ComboBox and supports remote, static, and JSON content.
- Spring Plugin: Integrate Spring with your application using a plugin (WW-1499). Or, if you prefer, use the Plexus Plugin instead.
- File Uploading Explore multiple file uploading through our new Showcase example (WW-1479).
- Action tag: Eliminate unwanted exceptions with the new
flush
attribute (WW-1472). - Checkboxlist tag: Use Maps with CheckboxList (WW-1471).
- Roles Interceptor: Integrate JAAS with a new interceptor - now on the default stack (WW-1469).
- Localized Links: Use the new
key
attribute to streamline link markup (WW-1458). - Constant Configuration: Override factory default settings from any XML configurtion document, including
web.xml
! (WW-1421). - Action Class Ref: Configure a custom default Action for any package to use instead of ActionSupport (WW-1420).
- Struts Maven Archetypes The standard archetype includes sample code from the Bootstrap tutorial {WW-1412).
- Direct Results: Create a custom Result Type directly from an Action class (WW-1393).
Experimental Features and Plugins
Please help us test these brave new features. Feedback appreciated!
- Scope Plugin: Initial version of scope plugin that mimics JBoss Seam-style of scoped bijection (presently in the Sandbox).
- Codebehind Plugin: Reduce mundane configuration by using "page controller" conventions (WW-1515).
- Zero Configuration: Optionally, eliminate or reduce XML configuration with convention and annotation (WW-1491).
- REST-ful URLs: Use search-engine friendly URLs, like category/action/movie/Thrillers (WW-1754).
Internal Changes
- Plugin tag libraries: Plugins can now provide new tag libraries encompassing JSP, Freemarker, and Velocity tags (WW-1584).
- Dependency Injection: The framework now uses its own dependency injection container, based on Google Guice. Applications are free to use Spring, Plexus, or even a local copy of Guice for any dependency injection needs. Actions can still be instantiated via the Spring configuration, when desired (WW-1499), but Spring is entirely optional now.
- Precise Error Reporting: All configuration elements, including properties that come from Java properties files, include location and line information for easier debugging (WW-1510).
- Ajax Tags: The tags comprising the Ajax theme have been revamped, enhanced, and updated to Dojo 0.4 (WW-1484, WW-1485, WW-1554, WW-1529, WW-1555, WW-1579, ).
- Composite Action Mapper: Multiple Action Mappers can now be chained into a composite
- Bean Configuration - Application objects can be injected into the framework or have static values set.
Detail
Pending and open issues
Other resources