Velocity Service

The Velocity Service is used to process Velocity templates from within a Turbine Screen. It is used in conjunction with the Template Service as a Templating Engine for templates ending in "vm".


# -------------------------------------------------------------------
#  S E R V I C E S
# -------------------------------------------------------------------
# Classes for Turbine Services should be defined here.
# Format: services.[name].classname=[implementing class]
# To specify properties of a service use the following syntax:
# service.[name].[property]=[value]

services.VelocityService.classname =
# -------------------------------------------------------------------
#  V E L O C I T Y  S E R V I C E
# -------------------------------------------------------------------

# The location of Velocity configuration file, relative to webapp root
# These properties will override the default properties set by Velocity.
# You should specify the path to the templates directories as well as
# the path to the log file and they should also be relative to webapp root

services.VelocityService.template.extension = vm = VelocityPage
services.VelocityService.default.screen = VelocityScreen
services.VelocityService.default.layout = VelocityOnlyLayout
services.VelocityService.default.navigation = VelocityNavigation
services.VelocityService.default.error.screen = VelocityErrorScreen
services.VelocityService.default.layout.template = Default.vm

# Set this to true to catch Velocity Errors and display them in the log file
services.VelocityService.catch.errors = true

services.VelocityService.runtime.log = /logs/velocity.log
#services.VelocityService.input.encoding = UTF-8
services.VelocityService.velocimacro.library = GlobalMacros.vm

services.VelocityService.resource.loader = file
services.VelocityService.file.resource.loader.description = Velocity File Resource Loader
services.VelocityService.file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
services.VelocityService.file.resource.loader.path = /templates/app
services.VelocityService.file.resource.loader.cache = false
services.VelocityService.file.resource.loader.modificationCheckInterval = 2

services.VelocityService.resource.loader = classpath
services.VelocityService.classpath.resource.loader.description = Velocity Classpath Resource Loader
services.VelocityService.classpath.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader


The Velocity Service registers itself as translation engine with the Template Service and it gets accessed from there. After configuring it in your properties, it should never be necessary to call methods from this service directly. Please refer to the Velocity Context Howto for details of how to use this service.


  • "services.VelocityService.catch.errors" controls the reporting of Velocity errors to the application (and to to the user). If this is set to "true" (which is the default), errors are caught by Turbine and reported in the turbine.log file at error level. Velocity will get the String "[Turbine caught an Error here. Look into the turbine.log for further information]" as return value (this might cause further errors down the road if you e.g. expect a numerical value or an object as the result of a method), so if you see this message in your screen, follow the instructions.