Software:ZTemplates

From HandWiki
ztemplates Framework
Developer(s)Gerd Ziegler
Stable release
2.4.0 / September 11, 2011 (2011-09-11)
Operating systemCross-platform
TypeApplication framework
LicenseApache 2.0
Websiteztemplates.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 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.

Features

  • JSP, Apache Velocity and FreeMarker 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, thus hiding the implementation.
  • Support for selfcontained components that can be included by dropping a jar file into WEB-INF/lib.
  • 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.
  • Spring support is available for action pojos.

External links