Vaadin would also be suitable, requiring no Javascript or HTML at all, even for new component development. Page layout is done using layout managers (like Swing). New components can be composed from existing components (again, like Swing), or written from scratch using GWT (fairly straightforward, and pure Java).
There is a reasonable selection of add-ons covering some features not in the core framework.
The framework is very easy to use for Java developers with Swing experience, and has a polished look and feel out of the box. However, the layout managers do make it difficult to change the look and feel using CSS - simple tasks like adding borders are hard.
The layout is also quite "heavy", which means that Vaadin websites can feel slightly sluggish. In my experience, the feel is still better than some of the heavier JSF frameworks.
It is compatible with all major browsers.
Demonstrator: http://demo.vaadin.com/sampler/
You could also consider Wicket. This has a similar component-based approach, but the components are defined using simple HTML fragments, which results in a much lighter DOM (and therefore better browser performance) and far better control over the look and feel. Wicket has a steeper learning curve, however.