This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (March 2010) (Learn how and when to remove this template message)
|Developer(s)||Apache Software Foundation|
2.1 / March 31, 2019
|License||Apache License 2.0|
Apache Velocity is a Java-based template engine that provides a template language to reference objects defined in Java code. It aims to ensure clean separation between the presentation tier and business tiers in a Web application (the model–view–controller design pattern).
Velocity is an open source software project hosted by the Apache Software Foundation. It is released under the Apache License. Jon Scott Stevens derived name from the AltiVec Velocity Engine in the PowerPC G4 chip.
Some common types of applications that use Velocity are:
- Web applications: Web developers render HTML page structures. The content is populated with dynamic information. The page is processed with VelocityViewServlet or any of a number of frameworks that support Velocity.
- Source code generation: Velocity can be used to generate Java, SQL, or PostScript source code, based on templates. A number of open source and commercial development software packages use Velocity in this manner.
- 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 software documentation stored in a generic "xdoc" format into a styled HTML document.
The following template:
## Velocity Hello World <html> <body> #set( $foo = "Velocity" ) ## followed by Hello $foo World! </body> </html>
processed by Velocity produces the following HTML:
<html> <body> Hello Velocity World! </body> </html>
- Harrop, Rob; Darwin, Ian (August 30, 2004), Pro Jakarta Velocity: From Professional to Expert (1st ed.), Apress, p. 370, ISBN 978-1-59059-410-0, archived from the original on July 5, 2009, retrieved September 4, 2009
- Cole, Jim; D. Gradecki, Joseph (July 16, 2003), Mastering Apache Velocity (1st ed.), Wiley, p. 372, ISBN 978-0-471-45794-7, archived from the original on October 7, 2012, retrieved September 4, 2009
|This programming-tool-related article is a stub. You can help Wikipedia by expanding it.|