Apache Velocity

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the Microsoft project codenamed Velocity, see Velocity (memory cache).
Apache Velocity
Jakarta Velocity Logo
Developer(s) Apache Software Foundation
Stable release 1.7 / November 29, 2010 (2010-11-29)
Development status Active
Written in Java
Operating system Cross-platform
Type template engine
License Apache License 2.0
Website http://velocity.apache.org/

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.

Uses[edit]

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]

The following template:

## Velocity Hello World
<html>
    <body>
       #set( $foo = "Velocity" )
       ## followed by
       Hello $foo World!
    </body>
</html>

processed by Velocity will produce the following HTML:

<html>
    <body>
     Hello Velocity World!
    </body>
</html>

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]

  1. ^ "PoweredByVelocity". Velocity Wiki. Wiki.apache.org. 2009-12-30. Archived from the original on 23 March 2010. Retrieved 2010-03-29. 

Bibliography[edit]

External links[edit]