Samiksha Jaiswal (Editor)

Apache Velocity

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Development status
  
Active

Operating system
  
Cross-platform

Written in
  
Java

Type
  
template engine

Apache Velocity

Developer(s)
  
Apache Software Foundation

Stable release
  
1.7 / November 29, 2010 (2010-11-29)

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).

Contents

Velocity is an open source software project hosted by the Apache Software Foundation. It is released under the Apache License.

Uses

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 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 documentation stored in a generic "xdoc" format into a styled HTML document.
  • Code example

    The following template:

    processed by Velocity produce the following HTML:

    The syntax and overall concept of the Apache Velocity templates is similar to the syntax of the older WebMacro template engine, which is now also an open source project.

    References

    Apache Velocity Wikipedia