Se o lance é escalabilidade (e performance da view) vai de VRaptor no controller, jsp e/ou velocity na view, e de Javascript + universo jQuery + CSS3 + Html5 no fron-end. Não tem coisa mais gostosa de trabalhar!
Se não quiser usar o VRaptor, vai de Gson + Servlet 3.0 no back-end que também fica legal.
Especificação parece até coisa de religião, importante é seguir o que é amplamente aceito.
É muito relativo sobre ter baixa produtividade inicial ao aprender coisas novas, o fator motivação e melhoria na nova escolha vai compensar à médio prazo esse tempo investido inicialmente. Também passei pelo caso de ficar anos no component-based, só que no .NET, e quando a MS lançou action-based e experimentei não demorou muito para estar mais produtivo e motivado do que antes, antes me sentia desmotivado com manutenções complexas e ajustes finos na camada view, hoje é algo que flui bem melhor.
Sobre questão inicial, eu já usei o Struts2 e achei muito bom, recomendo experimentar. Depois vou experimentar o SpringMVC que me recomendaram. Importante é usar um action based que seja bem aceito nas comunidades, de resto é muito jquery, HTML 4 e 5 e CSS3. De preferência valorize a possibilidade de ter um designer profissional, vai ver um diferencial que se tornará indispensável.