For front end development dotCMS uses Apache Velocity — an easy to use template engine. By exposing Java methods as understandable tools (Viewtools), dotCMS frees web developers to focus on building a powerful dynamic site without the need to write Java code.
Velocity can be used in templates, containers, custom fields and contentlets within dotCMS. dotCMS exposes a number of Viewtools of that ship with Velocity. For a list of tools exposed, see the documentation on the toolbox.xml, which is the configuration file for viewtools.
To experiment with code before you deploy, try the Velocity Playground in the Admin Panel.