For front end development dotCMS leverages Velocity- a Java-based template engine. By exposing Java methods that Velocity code can easily reference, Web designers are freed to focus on building a powerful dynamic site without the need to write Java code.
Velocity allows dotCMS java methods to be exposed and utilized on contentlets, containers, and templates.
dotCMS leverages the power of Velocity code to create dynamic pulls of content on webpages that automatically update themselves as new content is published. Furthermore, the dotCMS downloads with dozens of pre-written Velocity macros that can be called with only a few lines of Velocity code.
Velocity has its own documentation which can be reviewed at velocity.apache.org:
http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
Velocity within the dotCMS is primarily used in templates, containers, and contentlets. The dotCMS exposes most of the tools from velocity-tools 1.2. You can download the package from Velocity-tools 1.2 and look in its doc directory for more detailed information on how to use each tool. You don't have to worry about the places where velocity tools tells you to place xml in the toolbox.xml as the dotCMS already has all the above mentioned tools in its toolbox.