These are the notes for the Struts 2.1.5 build.
For prior notes on the the prior release series, see Version Notes 2.1.4
- 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.
Maven Dependency
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.1.5</version> </dependency>
Snapshot Repository
<repositories> <repository> <id>apache.snapshots</id> <name>ASF Maven 2 Snapshot</name> <url>http://people.apache.org/repo/m2-snapshot-repository</url> </repository> </repositories>
Backward compatibility issues with previous versions
- Since 2.1.3: This settings need to be added to struts.xml to make the REST plugin work with the Codebehind plugin:
<constant name="struts.codebehind.classSuffix" value="Controller"/> <constant name="struts.codebehind.action.checkImplementsAction" value="false"/> <constant name="struts.codebehind.action.checkAnnotation" value="false"/> <constant name="struts.codebehind.action.defaultMethodName" value="index"/> <constant name="struts.configuration.classpath.defaultParentPackage" value="rest-default" />
- Since 2.1.3: includeParams will default to none
- Since 2.1.3: cssClass and cssStyle attributes will be applied to the ul tags, instead of li in actionerror,actionmessage and fielderror tags
- Since 2.1.0: All default result names and interceptor names are now in camelCase (eg. was redirect-action, is now redirectAction)
- Since 2.1.0: The "ajax" theme is provided by the Dojo Plugin. Applications using the ajax theme must include the Dojo Plugin dependency and modify existing pages to import the plugin's own taglib/model
- Since 2.1.0 Tiles plugin: A DOCTYPE is now mandatory in the Tiles definitions XML
- Since 2.1.1: The immutable Configuration object is now created via a builder. The API is not compatible with prior versions. This primarily affects plugins that define Configuration.
- Since 2.1.1: The static method ActionContext.getContext() no longer lazily initializes an ActionContext. Unit tests that relied upon this behavior need to setup the ActionContext via the Container first.
- Since 2.1.1: OGNL method calls like "text(key)" now invoke "text(String)" instead of "getText(String)". This affects method calls only, not properties. Some OGNL expressions may need to be updated.
- Since 2.1.1: JUnit, TestNG, and DWR classes classes moved into their own plugins
New Features and Plugins
- Javatemplates plugin available (Since 2.1.3)
- Convention plugin available (Since 2.1.3)
- JUnit support moved to plugin (Since 2.1.1)
- TestNG support moved to plugin (Since 2.1.1)
- DWR support moved to plugin (Since 2.1.1)
- Portlet support moved to plugin (Since 2.1.0)
Deprecated Features and Plugins
- Ajax tags were refactored into the Dojo plugin which has been deprecated (Since 2.1.3)
- Codebehind plugin has been deprecated (Since 2.1.3)
Issue Detail
Issue List
Other resources
- Commit Logs (Struts 1 and Struts 2)
- Source Code Repository (includes change browsing)
- Migrating from Struts 2.0.x to 2.1.x
Build/Release Plan
- Struts 2.1.5 is expected to be the first GA on the 2.1 series
- The Build/Release Managers is Musachy Barroso
- The proposed tag date for the build is Jan 2th, 2009