Hm...
Strutsa olej, bo w nim nie ma nic ciekawego. Wybierz frameworki, które coś oferują lub mają różne założenia.
Spring vs EJB3 - Oba to frameworki IoC. Spring powstał w wyniku zapotrzebowania na narzędzie lekkie i "zwinne" jako alternatywa EJB2-2.1. EJB3 powstał jako odpowiedź na Springa, ale oparta o technologię EE.
Apache Wicket - jako framework "nowej generacji" w którym postawiono na zwinność i dużą separację warstw MVC. Wprowadzono też bardzo ciekawe rozwiązania na poziomie prezentacji - czysty HTML z dodatkowymi atrybutami w ramach namespace wicket bez dodatkowych czy niestandardowych znaczników.
GWT- Framework googla, w którym masz "bajer" w postaci kompilatora java to javascript.
Grails - bo nie samą Javą JEE żyje :)
Seam - jako rozwiązanie "pluginowe".
Oczywiście należy pamiętać, że mówiąc o JEE potocznie mówimy o bardzo niewielkim fragmencie technologii JEE. Generalnie na JEE poza EJB3 składają się WebServices, JMX i kontenery web. Co ciekawe nie ma tam opisu JPA, bo wraz z EJB3 i JEE5 postanowiono wyłączyć JPA, swoją drogą silnie wzorowane na Hibernate, do osobnej specyfikacji w ramach JSE. Nie można zatem mówić o frameworku JEE, bo nie ma to sensu. Zazwyczaj aplikacja EE jest tworzona w oparciu o kilka frameworków, które obejmują pewną część specyfikacji EE. Inaczej patrząc istnieje jedynie jeden słuszny framework JEE - EJB3, ponieważ jest on wyznacznikiem zasad działania JEE. Wszystko inne to zazwyczaj frameworki warstwy web lub rozwiązania podobne, ale nie będące JEE (tak naprawdę Spring != JEE, bo nie spełnia odpowiedniego JSRa).