These are the notes for the Struts 2.5 distribution.
For prior notes in this release series, see Version Notes 2.3.28.1
- If you are a Maven user, you might want to get started using the Maven Archetype.
Maven Dependency
<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5</version> </dependency>
You can also use Struts Archetype Catalog like below
Struts Archetype Catalog
mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/
Staging Repository
<repositories> <repository> <id>apache.nexus</id> <name>ASF Nexus Staging</name> <url>https://repository.apache.org/content/groups/staging/</url> </repository> </repositories>
Internal Changes
- All security patches from prior versions were merged into this version
- XWork source was merged into Struts Core source, it means that there be no more
xwork
artifact nor dedicated jar - Spring dependency for tests and spring plugin was upgraded to version 4.1.6, see WW-4510.
- Struts2 internal logging api was marked as deprecated and was replaced with new Log4j2 api as logging layer, see WW-4504.
- Struts2 is now build with JDK7, see WW-4503.
- New plugin to support bean validation is now part of the distribution, see WW-4505.
- Deprecated plugins are now removed from the distribution and are not longer supported anymore.
- Dojo Plugin
- Codebehind Plugin
- JSF Plugin
- Struts1 Plugin
- New security option was added - Strict Method Invocation (also known as Strict DMI), see WW-4540
- Added support for latest stable AngularJS in Maven archetype, see WW-4522
- Dropped support for
id
andname
- replaced withvar
, see WW-2069 - Dedicated archive with a minimal set of dependencies was introduced, see WW-4570
- It is possible to use multiple names when defining a result, see WW-4590
- Rest plugin honors Accept header, see WW-4588
New result 'JSONActionRedirectResult' in json-plugin was defined, see WW-4591
- Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was dropped, see WW-4584
- JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381
- OGNL was upgraded to version 3.1.4 and it breaks access to properties as it follows Java Bean Specification, see WW-4207 and WW-3909
- Annotations to configure Tiles, see WW-4594 and Tiles Plugin
Package names have changed
Some classes were moved to different packages, see the list below for more details:
- New:
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
org.apache.struts2.dispatcher.filter.StrutsExecuteFilter
org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
org.apache.struts2.dispatcher.listener.StrutsListener
org.apache.struts2.result.ServletRedirectResult
com.opensymphony.xwork2.interceptor.ValidationAware - Old:
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter
org.apache.struts2.dispatcher.ng.listener.StrutsListener
org.apache.struts2.dispatcher.ServletRedirectResult
com.opensymphony.xwork2.ValidationAware