Apache Velocity is a Java-based template engine that provides a template language to reference objects defined in Java code. It is an open source software project directed by the Apache Software Foundation and aims to ensure clean separation between the presentation tier and business tiers in a Web application (the model–view–controller design pattern).
Some common types of applications that use Velocity are:
Web applications: Web designers create HTML pages with placeholders for dynamic information. The page is processed with VelocityViewServlet or any of a number of frameworks which support Velocity.
Source code generation: Velocity can be used to generate Java source code, SQL, or PostScript, based on templates. A number of open source and commercial development software packages use Velocity in this manner. [1 ] Automatic
emails: Many applications generate automatic emails for account signup, password reminders, or automatically sent reports. Using Velocity, the email template can be stored in a text file, rather than directly embedded in Java code.
XML transformation: Velocity provides an Ant task, called Anakia, which reads an XML file and makes it available to a Velocity template. A common application is to convert documentation stored in a generic "xdoc" format into a styled HTML document.
Code example [ edit ]
## Velocity Hello World
#set( $foo = "Velocity" )
## followed by
Hello $foo World!
/ body> <
processed by Velocity will produce the following HTML:
Hello Velocity World!
/ body> <
The syntax and overall concept of the Apache Velocity templates is very similar to the syntax of the older
WebMacro template engine which is now also an open source project. [ ] citation needed
See also [ edit ]
References [ edit ]
Bibliography [ edit ]
Harrop, Rob; Darwin, Ian (August 30, 2004), (1st ed.), Pro Jakarta Velocity: From Professional to Expert Apress, p. 370, ISBN 978-1-59059-410-0
Cole, Jim; D. Gradecki, Joseph (July 16, 2003), (1st ed.), Mastering Apache Velocity Wiley, p. 372, ISBN 978-0-471-45794-7
External links [ edit ]