ich kann dir seam2 sehr empfehlen.
das ist quasi ein framework-stapel.
beinhaltet und vereint JSF/Facelets, JPA/Hibernate und EJBs, in der standardkonfiguration.
also alle java-webkonzepte unter einer verwaltung. damit spart man sich das lästige eintragen und deklarieren der beans in den xml-confdateien. das übernimmt alles seam.
das schwierige an JSF ist allein die konfiguration (was seam mithilfe java-annotations übernimmt), der rest ist nobrain-tags-setzen, noch simpler als html.
und das beste daran ist, dass du die vorteile überall mitnehmen kannst.
wenn du unbedingt spring einsetzen willst, kannst du´s einfach in seam integrieren.
viewhandler, model und controllerframeworks sind ebenfalls wechselbar.
der einzige nachteil ist, dass man sich erst einmal die "passenden" versionen der komponenten zusammensuchen muss, wenn man immer die aktuellsten einsetzen will.
hab aber gehört, dass das Google Web Toolkit, wie schon einer geschrieben hat, noch einfacher zu erlernen sei.
dafür brauchst keine langen einarbeitungen in j2e bzw. jsf