Having spent a lot of time looking at/comparing/building Web 1.0-style server-side frameworks, I've since switched to GWT and really like the client-side model. It'd be hard for me to go back to munging HTML/data back/forth from the stateless server.
Of course, GWT is not perfect. DevMode needs to be faster, and they need to integrate scala-gwt. :-)
I wrote a Backbone-like framework to deal with some of the boilerplate (http://www.tessell.org), especially if you're doing MVP. I don't quite have a solid DTO story down yet, but overall I like it.
If I had to use a server-side framework again, I really liked Click (http://click.apache.org), as it is component based, but has source code you can actually read (vs. both Tapestry and Wicket which are too big/magical IMHO).
Of course, GWT is not perfect. DevMode needs to be faster, and they need to integrate scala-gwt. :-)
I wrote a Backbone-like framework to deal with some of the boilerplate (http://www.tessell.org), especially if you're doing MVP. I don't quite have a solid DTO story down yet, but overall I like it.
If I had to use a server-side framework again, I really liked Click (http://click.apache.org), as it is component based, but has source code you can actually read (vs. both Tapestry and Wicket which are too big/magical IMHO).