InfoQ

News

Struts 2 Goes GA

Posted by Scott Delap on Feb 26, 2007

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.

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
  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?

Educational Content

How HTML5 Web Sockets Interact With Proxy Servers

Peter Lubbers explains in this article how HTML5 Web Sockets interact with proxy servers, and what proxy configuration or updates are needed for the Web Sockets traffic to go through.

Rails in the Large: How Agility Allows Us to Build One Of the World's Biggest Rails Apps

Neal Ford shows what ThoughtWorks learned from scaling Rails development: infrastructure, testing, messaging, optimization, performance.

Stuart Halloway on Clojure and Functional Programming

Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell.

Oren Teich and Blake Mizerany on Heroku

Oren Teich and Blake Mizerany talk about the technology behind Heroku and the benefits of the new add-on system.

Security for the Services World

Chris Riley presents security issues threatening service based systems, examining security threats, presenting measures to reduce the risks, and mentioning available security frameworks.

Navigating The Rapids:Real-World Lessons in Adopting Agile

This talk investigates technical issues encountered when moving to an Agile process.

Codename "M": Language, Data, and Modeling, Oh My!

Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Don Box's demos show some of M’s features and latest changes of the language.

SOA Manifesto - 4 Months After

It is four months since the SOA manifesto was announced; InfoQ interviewed the original author’s to get insight into the motivations and the process behind the initiative.