I would highly recommend using ZK. I have used it for numerous projects and found it to be extremely productive and reliable. It is constantly updated and the new version (5.0 I think) includes both server-centric architecture and the ability to customize the client.
ZK 5 has jQuery integration, which you can use if you want to get your hands dirty with Javascript, although this is completely optional. I have also read that GWT is going to be implemented so that full client-side customization is available using Java.
It satifies your 5 criteria and can also be used in conjuction with Grails (see here). Here are some links to get your started:
- ZK Essentials
- Developer's reference
- Quick start guide
- ZK & MVC
- ZK & Hibernate
- ZK, Hibernate & Spring
I hope these help you!