InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Struts 2 Goes GA

Posted by Scott Delap on Feb 26, 2007

Sections
Development
Topics
Java ,
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
Re: WebWork by Floyd Marinescu Posted
Re: WebWork by George Jiang Posted
  1. Back to top

    WebWork

    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

    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

    by George Jiang

    Struts 2 or WebWork 3?

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.