For prior notes on the the prior release series, see Version Notes 2.1.5
- 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.
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.1.6</version> </dependency>
<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: These settings need to be added to struts.xml to make the REST plugin work with the Codebehind plugin:
See the Convention migration guide for details on how to port your Codebehind based web app to the Convention 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)
- Commit Logs (Struts 1 and Struts 2)
- Source Code Repository (includes change browsing)
- Migrating from Struts 2.0.x to 2.1.x
- Struts 2.1.6 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 5th, 2009
The link to "the Convention migration guide" is broken. http://struts.apache.org/2.1.6/docs/converting-application-from-codebehind-to-convention-plugin.html
Try using the direct link to the wiki page rather than the exported version: Converting application from Codebehind to Convention Plugin