InfoQ

News

Struts 2 Goes GA

Posted by Scott Delap on Feb 26, 2007 02:06 PM

Community
Java
Topics
Web Frameworks
Tags
Struts
The Apache Struts Team has announced that version 2.0.6 will be released as General Availability (GA). This is an important milestone since GA is the project's highest quality grade. This also marks the first GA release with the integrated WebWork 2 code base. Struts and WebWork merged projects last year. From the release notes the 2.0.6 includes the following features:

Build
  • Easy startup - Jumpstart new projects with our bootstrap tutorial and template application or Maven archetype.
  • Improved Design - Code clean against HTTP-independent framework interfaces.
  • Enhanced Tags - Code less with stylesheet-driven form tags that provide their own markup.
  • Stateful Checkboxes - Avoid special handling with smart checkboxes that know when they are toggled.
  • Flexible Cancel Buttons - Go directly to a different action on cancel.
  • First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like standard Struts tags.
  • Easy Spring integration - Inject dependencies into Actions using Spring without glue code or red tape. (Plexus support also available.) o Enhanced Results - Do more with specialty results for JasperReports, JFreeChart, Action chaining, and file downloading.
  • POJO forms - No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties!
  • POJO Actions - Use any class as an Action class -- even the interface is optional!

Deploy

  • Easy plugins - Add framework extensions by dropping in a JAR. No manual configuration required! Bundled plugins add support for JavaServer Faces, JasperReports, JFreeChart, Tiles, and more ...
  • Integrated profiling - Peek inside Struts2 to find where the cycles are going!
  • Precise Error Reporting - Flip directly to the location and line of an error.

Maintain

  • Easy-to-test Actions - Test Struts2 Actions directly, without resorting to mock HTTP objects.
  • Intelligent Defaults - Skip obvious and redundant settings. Most framework configuration elements have a default value that we can set and forget. Say it once!
  • Easy-to-customize controller - Customize the request handling per action, if desired. Struts2 only does what you want it to do!
  • Integrating Debugging - Research problem reports with built-in debugging tools.
  • Easy-to-tweak tags - Customize tag markup by editing a FreeMarker template. No need to grok the taglib API! JSP, FreeMarker, and Velocity tags are fully supported.

Version 2.0.6 has minimum requirements of Servlet API 2.4, JSP API 2.0, and Java 5.

4 comments

Reply

WebWork by Martin Gilday Posted Feb 27, 2007 8:20 AM
Re: WebWork by Floyd Marinescu Posted Feb 27, 2007 1:29 PM
Re: WebWork by George Jiang Posted Feb 28, 2007 7:58 PM
qwqwq by berkay NiQuiL Posted Jun 30, 2008 12:19 PM
  1. Back to top

    WebWork

    Feb 27, 2007 8:20 AM by Martin Gilday

    The featues listed here read almost the same as WebWork2. Still good news for them to have reached GA, so the more innovative features should come in time.

  2. Back to top

    Re: WebWork

    Feb 27, 2007 1:29 PM by Floyd Marinescu

    The featues listed here read almost the same as WebWork2. Still good news for them to have reached GA, so the more innovative features should come in time.
    Even simply matching WW 2 features I think is good for the community, as there is now a good upgrade path for Struts users to someting better but still 'Struts', and over all its good to have standardization in web framework use in the industry (and I think the merger of the Struts and WebWork communities is quite sizable).

  3. Back to top

    Re: WebWork

    Feb 28, 2007 7:58 PM by George Jiang

    Struts 2 or WebWork 3?

  4. Back to top

    qwqwq

    Jun 30, 2008 12:19 PM by berkay NiQuiL

Exclusive Content

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.

Security (CAS and OpenID) with Ruby

In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).