Jump to content

Apache Velocity: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Faisal.akeel (talk | contribs)
No edit summary
Faisal.akeel (talk | contribs)
No edit summary
Line 1: Line 1:
<i>This article is about Velocity as [[template engine]]. For other meanings, see [[velocity (disambiguation)]].</i>
{{Merge|Apache Velocity|date=October 2006}}

'''Jakarta Velocity''' is an [[open source]] package directed by the [[Jakarta Project]]. Velocity is a [[Java programming language|Java]]-based [[template engine]]. Its aim is to ensure clean separation between the presentation tier and business tiers in a [[Web application]] (see [[model-view-controller design pattern]]).
'''Jakarta Velocity''' is an [[open source]] package directed by the [[Jakarta Project]]. Velocity is a [[Java programming language|Java]]-based [[template engine]]. 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 application]]s: [[Web designer]]s create [[HTML]] pages with [[placeholder]]s 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 [[JavaServer Pages|JSP]] or [[PHP]].
* [[Source code]] generation: Velocity can be used to generate Java source code, [[SQL]], or [[PostScript]], based on [[template]]s. The [[PoweredByVelocity]] page lists a number of [[open source]], and commercial development [[software package]]s which use Velocity in this manner.
* Automatic [[email]]s: 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:

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

processed by Velocity will produce the following text:

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

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.

==External links==


==External links==
*[http://jakarta.apache.org/velocity/ Velocity at Jakarta]
*[http://jakarta.apache.org/velocity/ Velocity at Jakarta]
*[http://airspeed.pythonconsulting.com Airspeed - A Python template engine compatible with Velocity]
*[http://wiki.apache.org/jakarta-velocity/ Wiki Apache]
*[http://wiki.apache.org/jakarta-velocity/ Wiki Apache]

{{Apache}}
{{comp-stub}}
{{comp-stub}}
{{Apache}}

[[Category:Apache Software Foundation projects]]
[[Category:Apache Software Foundation projects]]
[[Category:Java enterprise platform]]
[[Category:Java enterprise platform]]
[[Category:Java platform]]

[[Category:Template engines]]
[[ja:Velocity]]
[[ja:Velocity]]
[[pl:Velocity]]
[[pl:Velocity]]
[[fr:Apache Velocity]]

Revision as of 07:17, 23 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.

External links