Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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.
    • 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.

New Features and Plugins

  • Codebehind Plugin: Reduce mundane configuration by using "page controller" conventions (WW-1515).
  • Spring Plugin: Integrate Spring with your application using a plugin (WW-1499). Or, if you prefer, use the Plexus Plugin instead.Zero Configuration: Optionally, eliminate or reduce XML configuration with convention and annotation (WW-1491).
  • File Uploading Explore multiple file uploading through our new Showcase example (WW-1479).
  • REST-ful URLs: Use search-engine friendly URLs, like category/action/movie/Thrillers (WW-1754).
  • 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).
  • Direct Results: Create a custom Result Type directly from an Action class (WW-1393).

Experimental Features and Plugins

(tick) Please help us test these brave new features. Feedback appreciated!

  • 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

  • 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).
  • Dojo Update: Struts 2.0.2 utilizes Dojo 0.4 (WW-1485).
  • 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.

...