ZTemplates

From Wikipedia, the free encyclopedia

ztemplates Framework
Developed by Gerd Ziegler
Latest release 0.9.9.2 / March 03, 2008
OS Cross-platform
Genre Application framework
License Apache 2.0
Website ztemplates.org

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 around 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 or Apache Velocity. ztemplates chooses the correct rendering technology and template from the annotation the programmer attaches to a plain old java object.

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.

The rendering part and the actions are completely independent of each other.

[edit] Features

  • JSP and Apache Velocity compatible. This can be extended by implementing a simple interface.
  • Annotation based AJAX support. The required JavaScript libraries and css files are declared in annotations on pojos and automatically included by the system.
  • state-free. ztemplates does not keep server-side state.
  • technology agnostic urls. There are no constraints on the urls by the framework.
  • invisible to the web-client. ztemplates is not visible to the web client, so it could be replaced by other technologies without breaking your application.
  • extensible through services. ztemplates extensively uses interfaces and annotations, making it possible to replace every part of ztemplates with a custom implementation.
  • security with annotations. ztemplates provides support for security by annotations.


[edit] External links