I vote for JSF
I created this blog about my experience with GWT(about 1 year on that I spend at work).
Occasionally , I also wrote JSF application(about 1 year on that I spent at home)
My mistake was I chose simple MYFACES (simple and old JSF implementation).
But even that one is better, than GWT , because it's easier to write.
Easier to understand and 10 other reasons(see blog link below)
The best solution if you need just presentation layer is GOOD JSF implementation, like Trinidad, like RichFaces.
But if you need complete 3 layers solution(presentation, business, data) - take JbossSeam.
I have no relation to Jboss, I just read, tried and know!!!!
Google's products are highly OVERESTIMATED.
You CAN build good application on GWT, but it will have 10 disadvantages(see blog).
I write GWT RIGHT NOW, making breaks to tell the truth here...
It's not good. Trust me. Or not trust me, just go in that way. It's your problem, buddyyy.
http://javafuck.wordpress.com/2010/07/28/gwt-is-abbreviation-for-greedy-and-wasteful-technology/