Apache Velocity

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Apache Velocity
Jakarta Velocity Logo
Developer(s)Apache Software Foundation
Stable release
2.0 / August 6, 2017 (2017-08-06)
Written inJava
Operating systemCross-platform
Typetemplate engine
LicenseApache License 2.0
Websitehttp://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 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.[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 software 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 produces the following HTML:

<html>
    <body>
        Hello Velocity World!
    </body>
</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.[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]