Struts2. Very lightweight and its gets out of your way.
Since it is Java we get to leverage some of the incredible Java libraries out there like Guice.
We've tried a few other frameworks. We build our prototype in web.py. Very simple, but I couldn't get used to not living in IntelliJ.
We tried a previous project in Rails, but it did too much 'magic' for us and the scaffolding seemed a bit too brittle.
To be fair the last time I used Rails in production was in the 1.1 days, so it's been a while.