InfoQ

News

Presentation: WebWork (Struts 2) In Action

Posted by Floyd Marinescu on Apr 26, 2007 09:03 AM

Community
Java
Topics
Web Frameworks
Tags
Struts
Patrick Lightbody overviews WebWork and the Struts merger, comparing to other web frameworks and explaining how to achieve rapid development with WebWork/Struts 2.

Watch WebWork (Struts 2) In Action (48:28 min)

The presentation was recorded last year as the merger was well underway.  Since then, Struts 2 (WebWork) was released at the end of February, and the WebWork project released it's final version 2.2.5 a couple of weeks ago. The WebWork team wanted to do a big effort to bring in as many optimizations and bug fixes into the last release of WebWork as possible before shifting focus entirely to Struts 2.  See also InfoQ's Struts content.

Patrick Lightbody is one one of the leads on the WebWork project and leads product management for QA solutions at Gomez Inc. Prior to joining Gomez, Lightbody launched Autoriginate, the creator of a hosted QA solution, and managed the professional services team at collaboration software provider Jive Software. Lightbody also serves as the CEO and Chairman of OpenSymphony Group. 

9 comments

Reply

very nice by Mittal Bhiogade Posted Apr 26, 2007 6:04 PM
Re: very nice by Floyd Marinescu Posted Apr 27, 2007 8:36 AM
Re: very nice by Philip Wilkinson Posted Apr 28, 2007 1:03 PM
Re: very nice by Mittal Bhiogade Posted Apr 30, 2007 6:00 PM
Re: very nice by Mittal Bhiogade Posted Apr 30, 2007 6:21 PM
Nice one by Toby Jee Posted Apr 27, 2007 12:03 AM
Struts 2.x book !!! by Mittal Bhiogade Posted Apr 30, 2007 6:02 PM
Struts 2: XSLT-View by m f Posted Jul 4, 2007 10:37 AM
Animated Tutorial for Struts2 by Mohammad SeyedAlavi Posted Sep 3, 2007 1:22 PM
  1. Back to top

    very nice

    Apr 26, 2007 6:04 PM by Mittal Bhiogade

    neat presentation.. we are in process of starting new app development and have selected struts2.x as a web framework
    after bitter experience of tap4.x

  2. Back to top

    Nice one

    Apr 27, 2007 12:03 AM by Toby Jee

    Nice one Pat. :-)

  3. Back to top

    Re: very nice

    Apr 27, 2007 8:36 AM by Floyd Marinescu

    Mittal would you tell us more about your experiences and choice to switch?

  4. Back to top

    Re: very nice

    Apr 28, 2007 1:03 PM by Philip Wilkinson

    Mittal, At the risk of going off-topic, I'd love to hear about your experience with Tapestry 4, as I'm sure to would the developers of that framework. Also I'm curious as to whether Tapestry 5 will address your issues.

  5. Back to top

    Re: very nice

    Apr 30, 2007 6:00 PM by Mittal Bhiogade

    Philip,

    Here are some of the reasons which made me thinking,

    - all page classes are abstract, no DI via spring possible. I think Tap5 takes care of this one.

    - null handling for individual and nested properties. We had to implement additional interface called "NullHandler" and register all our objects instead of writing not null checks cluttered around views.

    - AJAX integration was pain with Tacos and Dojo but got it working.

    - No roadmap for migration from Tap4 to Tap5.

    These were some of compelling factors at least to get thinking about alternative framework.

    On other hand, ramp-up time for Tapestry wasnt that much may be 2 days to get it up and running and kicking off project development

    Thanks
    Mittal

  6. Back to top

    Struts 2.x book !!!

    Apr 30, 2007 6:02 PM by Mittal Bhiogade

    Is there second edition for WW or Struts 2.x coming up ?

  7. Back to top

    Re: very nice

    Apr 30, 2007 6:21 PM by Mittal Bhiogade

    Philip,

    Here are some of the reasons which made me thinking,

    - all page classes are abstract, no DI via spring possible. I think Tap5 takes care of this one.

    - null handling for individual and nested properties. We had to implement additional interface called "NullHandler" and register all our objects instead of writing not null checks cluttered around views.

    - AJAX integration was pain with Tacos and Dojo but got it working.

    - No roadmap for migration from Tap4 to Tap5.

    - This is a classic one, if there are any html controls within tap form by default it puts focus on first control it finds and to prevent it one has to set a property to false. I received some QA bugs related to this issue.

    These were some of compelling factors at least to get thinking about alternative framework.

    On other hand, ramp-up time for Tapestry wasnt that much may be 2 days to get it up and running and kicking off project development whereas it seems there's FUD about steep ramp-up time for tapestry

    Thanks
    Mittal

  8. Back to top

    Struts 2: XSLT-View

    Jul 4, 2007 10:37 AM by m f

    I'm trying out S2. Being familiar with S1 I find the new S2 features that came through the framework wedding very thrilling. It is important for us that the framework supports XSLT which it obviously does and it was really easy to get a simple example working.

    However I struggle with custom adapters that produce custom XML other than what is created by the standard adapters. The Javadoc says I can register my custom adapter with registerAdapter method of AdapterFactory. But where do I call this method? Where in my code do I have access to the AdapterFactory instance so I can register my adapter? It also tells me to look at the examples but I cannot find any concerning custom adapters...

    Any help is greatly appreciated! If there really is an example can you tell me where to find it?

  9. Back to top

    Animated Tutorial for Struts2

    Sep 3, 2007 1:22 PM by Mohammad SeyedAlavi

    Dear all,

    In order to better understanding and using of Struts2, I have created
    the Animated Tutorial for Struts2 that shows how does struts work.

    My goal for creating this document was to show basic primitives such as
    request scope value stack, action classes and objects to someone who wants
    to select between web frameworks such as Struts, JSF, Tapestry and etc.

    link to download:
    khorshid.ut.ac.ir/~m.s.alavi/Tutorial.zip

    First of all you must read the readme.pdf and then start with first scenario.

    Any opinion about this tutorial is appreciated.
    I'm looking for your helpful opinions.

    --kind regards
    Mohammad SeyedAlavi

Exclusive Content

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.

Building your next service with the Atom Publishing Protocol

In his presentation, recorded at QCon San Francisco, MuleSource architect Dan Diephouse explores ways to use the Atom Publishing Protocol (AtomPub) when building services in a RESTful way.