Since you said you wanted a "Java" web framework, I recommend either Wicket, GWT or RAP.
Wicket is a very simple, "bare metal" framework where all logic is in Java (rather than being split between Java and JSP as in Struts, JSF or other such frameworks). It is also component oriented, which means you can reuse the same GUI component (be it simple or composite) in different pages. Finally, Wicket allows to use AJAX, while still not requiring your whole page to be written in Javascript (as extjs requires, for example)
GWT and RAP are both "java to javascript compilers". You write your code in regular Java, including the logic for interaction on the client side (responding to clicks, drags, etc.) and the framework compiles the code to javascript that runs on the client and interacts with the server when needed. GWT (from google) is based on the swing model, while RAP (from eclipse) is based on Eclipse's RCP model (which is much richer than swing).
The main difference between Wicket and GWT/RAP is that wicket is more oriented towards writing "old school" sites (for example, stackoverflow is old school - pages, forms, with a bit of ajax), while GWT/RAP are for writing RIA applications (where there's many widgets with complex interaction).
Finally, for "out of the box" alternatives, check out extjs, cappucino and maybe java web start