What Java web framework out there best supports a role of "web UI designer", that is, lets you:
Use popular web design tools (xhtml validators, css editors, what have you) on your views/pages
View changes without running on a server
Rapidly prototype different UI options
Supports a (somewhatly) clean separation between "developer" and "designer" (terminology intentionally vague)
We, like many others, have found these capabilities sorely lacking in our large, legacy Struts 1.x apps that use lots of JSP fragments and includes.
We've decided to port our apps to a JSR-168/268 portal environment, but we have not decided on what Java web framework will power the portlets. We're open to any kind (action-based, component-based, etc) and a key criterion is how well it supports the role described above.
I'm intrigued by Tapestry which claims that its views are XHTML compliant pages (that simply have extra Tapestry-specific attributes added onto them to be processed at runtime). This sounds like it would play well with a web ui designer's toolkit. However, I'd like to know if this is what actually happens in the real world, or if compromises are necessary.
Of course, if there's something much better than Tapestry, I'd love to hear about it!