And no, I don't work with raw javascript libraries that much. My preferred solution right now is JSF2 / Facelets with a decent component library such as PrimeFaces or OpenFaces, combined with Spring for dependency injection, controller, and persistence management.