A brief History of Struts 2.0
Apache Struts 1.0 was initially developed by Craig McClanahan and was released in May 2000. Struts 1.0 was instrumental in bringing order to the chaotic Java Web application development scene. Even though Struts 1.0 was revolutionary step in Java Web application development, soon a number of its weak points emerged. The code base was too tightly coupled and it was difficult to add new features.
Then in 2005, there was proposal for a new version of Struts called “Struts Ti”. The original Struts Ti proposal had the following design goals.
• No servlet dependency in core framework
• Spring-based dependency injection in core to allow for pluggability
• No bias to any view technology
• Ability to layer Struts 1.x compatibility on top
• Highly toolable
• Smooth integration into a portal/portlet environment
• AJAX-friendly
Another Web application framework in the market at that time was OpenSymphony’s WebWork2. One of the core components of WebWork2 was the XWork command pattern implementation. Initially Struts Ti team decided to leverage XWork pattern and soon Struts Ti and WebWork2 teams started collaborating on Struts.
Sometime in November 2005, WebWork2 was merged with Struts Ti. Later sometime in June 2006, Struts 2.0 was born. The first release in 2.x series, 2.0.0 was in September 2006 and since then there were regular releases. The current release is 2.0.11 and includes a number of important updates.
The next production release planned is 2.1. It contains a number of important enhancements in Portlet and Ajax support.