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.