Remove ads
From Wikipedia, the free encyclopedia
Apache Velocity first released in April 2001, 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).
This article includes a list of general references, but it lacks sufficient corresponding inline citations. (March 2010) |
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 2.3
/ February 27, 2021[1] |
Repository | Velocity Repository |
Written in | Java |
Operating system | Cross-platform |
Type | Template engine |
License | Apache License 2.0 |
Website | velocity |
Velocity is an open source software project hosted by the Apache Software Foundation. It is released under the Apache License. Jon Scott Stevens derived the name from the AltiVec Velocity Engine in the PowerPC G4 chip.
Some common types of applications that use Velocity are:
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>
Another example using conditions:
#if( $foo < 10 )
**Go North**
#elseif( $foo == 10 )
**Go East**
#elseif( $bar == 6 )
**Go South**
#else
**Go West**
#end
AWS API Gateway body mapping template, for DynamoDB HTTP:
{
"TableName": "happy-marketer",
"KeyConditionExpression": "pk = :pk AND begins_with(sk, :sk)",
#if ($input.params('projectStatus') == 'archived')
"FilterExpression": "projectStatus = :Archived",
#else
"FilterExpression": "projectStatus = :InProgress OR projectStatus = :Completed",
#end
"ExpressionAttributeValues": {
":pk": {
"S": "project"
},
":sk": {
"S": "$context.authorizer.claims.email"
},
#if ($input.params('projectStatus') == 'archived')
":Archived": {
"S": "Archived"
}
#else
":InProgress": {
"S": "In Progress"
},
":Completed": {
"S": "Completed"
}
#end
}
}
Another example with optional array; without condition will fail because of invalid resulting JSON:
{
"email": "$context.authorizer.claims.email"
#if ($input.params('countries') != "")
, "countries": $input.params('countries')
#end
}
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]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.