ZTemplates

ztemplates is an open source web application framework based on the Java platform 1.5 or later. It is licensed under the Apache 2.0 License.
ztemplates runs in any standard java web application container like Apache Tomcat.
ztemplates extensively uses annotations and so requires almost no configuration. It is centered on urls and allows the definition of url-variables and url-references so the programmer can extract more information from the url than is usually possible.
The active part of a ztemplates application is located in callbacks. The callbacks and the sequence in which they are called are defined by the url. The programmer can define before and after callbacks for all actions, url-variables and url-references. They are called in the order in which the corresponding url-variable and url-reference are defined in the url.
The web-page rendering is done with standard technology, like JSP, Apache Velocity or FreeMarker. ztemplates chooses the correct rendering technology and template from the annotation the programmer attaches to a plain old java object.
ztemplates integrates with maven and is available from the maven central repository.
ztemplates also integrates with Spring and exposes its services as spring beans.
Since 0.9.9 ztemplates comes with support for AJAX frameworks and a sample Yahoo UI (YUI) and Google Search integration. The AJAX libraries are included by dropping a jar file into the applications WEB-INF/lib directory. When using predefined components, the programmer does not need to know which JavaScript libraries are needed, the framework chooses the needed ones from annotations on the pojos used.
Since version 2.3.0 ztemplates contains a javascript component model to support AJAX programming.
The rendering part and the actions are completely independent of each other.