[{TableOfContents}]

!!!Overview

ztemplates is a webframework. It processes http requests to create a http response.

A http request is processed by the framework like this:

!Application startup time
The web framework 
* analyses the classpath to determine all pojos that are able to handle requests
* processes [configuration properties|context configuration]

!Request time
The action framework 
* creates all services that are available through the [ZTemplates] class.
* analyzes the request url
* instantiates a [action pojo] for each request
* the request parameters are assigned to the pojo
* calls a callback on the pojo

The pojo-callback 
* validates the parameters
* accesses services to compute data
* instantiates a [view pojo|render pojo]
* fills the view pojo with the computed data
* calls the framework to render the pojo to the response.

The view framework
* determines how to render the view-pojo by accessing a [@ZRenderer] annotation on the view pojo
* exposes values from the view-pojo to a HashMap.
* instantiates a [renderer] and passes the exposed values to the renderer.
* calls the renderer to compute a String from the exposed values and a template file.
* writes the String to the http response.


!!!Actions
* [Introduction|ztemplates-actions]
* [Url]
* [Action-Pojo|ActionPojo]

!!!Views
* [Introduction|ztemplates-render]
* [Renderer]
* [View Pojo|RenderPojo]
* [Apache Velocity]

!!!Web
* [Introduction|ztemplates-web]
* [Services]
* [CSS Stylesheets|css]
* [Security]
* [Performance]

!!! JavaScript
* [JavaScript/AJAX|AJAX]

!!!Forms
* [Forms|Forms]

!!!Architecture
* [Design Goals]
* [Application Architecture]
* [Blueprints]

!!!Spring
* [Spring]

!!!JavaDocs
* [JavaDocs|http://www.ztemplates.org/apidocs/index.html]