Apache Velocity: Difference between revisions
Faisal.akeel (talk | contribs) No edit summary |
Faisal.akeel (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox_Software |
{{Infobox_Software |
||
name = Jakarta Velocity |
|||
logo = [[Image:Jakarta_Velocity_Logo.png|150px|Jakarta Velocity Logo]] |
|||
screenshot = |
|||
caption = |
|||
developer = [[Apache Software Foundation]] |
|||
latest_release_version = 1.4 |
|||
latest_release_date = [[April 14]], [[2004]] |
|||
operating_system = [[Cross-platform]] |
|||
genre = [[Template Engine]] |
|||
license = [[Apache License|Apache 2.0 licence]] |
|||
website = http://jakarta.apache.org/velocity |
|||
}} |
}} |
||
Revision as of 23:27, 29 October 2006
This article is about Velocity as template engine. For other meanings, see velocity (disambiguation).
Jakarta Velocity is an open source package directed by the Jakarta Project. Velocity is a Java-based template engine that provides a simple yet powerful template language to reference objects defined in Java code. Its aim is to ensure clean separation between the presentation tier and business tiers in a Web application (see model-view-controller design pattern). Some common types of applications which 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. This approach to web application development is called Model-view-controller (MVC), and is intended to be a direct replacement for applications developed with JSP or PHP.
- Source code generation: Velocity can be used to generate Java source code, SQL, or PostScript, based on templates. The PoweredByVelocity page lists a number of open source, and commercial development software packages which 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:
## Velocity Hello World <html> <body> #set( $foo = "Velocity" ) ## followed by Hello $foo World! </body> </html>
processed by Velocity will produce the following text:
<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 the open source project.