Web tier: servlets, JSP, Web frameworks: Best Solution for Web 2.0 Complex Business Forms (AJAX)?

  1. I want to get some idea of what technologies toolsets would be best suited for a complex Web 2.0 application that is a series of complex forms. Unlike the typical Http/MVC based application, the "end user experience" is of utmost importance, meaning:
    1) Fields are validated as you type
    2) Changing the values of certain fields will cause additional textfields/options to appear/disappear (These fields should only appear only when business logic against data in the form determines these fields are required... this business logic is on the server... hence Web 2.0)
    3) Autocomplete (like google) for certain form fields
    4) Cross-field validation (i.e. if I select "additional information" checkbox, I cannot proceed to the next form until I fill in the "Additional Information" Text Area)

    The best way to describe the complexity of this application would be to say it would be like an online application to do your taxes... the questions will ask you if X and Y deductions apply, then the UI will update based on your responses, and additional questions will be asked... Business Logic needs to be performed based on many fields within a form (without page reloading)

    The application will be used by Sales representatives who handle calls over the phone (so constant page refreshes are a no-no), AND for individuals who go online and use it (ideally it will be accessible to as many people (online) as possible.)

    What I know of:

    I've seen some AJAX applications and toolsets do a decent job at this, however I was concerned with the amount of Javascript required, and it still "seemed" a little clunky. Basically to get the required effect (2), 80% of the HTML page needs to be created in Javascript... "out.print..." Browser compatibility can also be an issue

    Laszlo/Flex/Flash/Flash Lite
    I looked into Laszlo and I liked it, however it still seemed kinda slow (for loading) to me, however the experience was good. I'm curious how well this will integrate with our server services (which are currently Axis Web Services) does anyone know about tools they would recommend for doing development.

    I'm also interested in any other technologies that'll fit the bill. And information about how to handle the "Form Flow" on the server side (currently I'm considering Spring Web Flow, or Struts).

  2. There are several Ajax components for use right in JSP.
    Check out for example ours (of course :-) Ajax components in
    Coldtags suite: http://www.servletsuite.com/jsp.htm#ajax