Apache Velocity: Difference between revisions
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. |
|||
⚫ | |||
⚫ | |||
*[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] |
||
⚫ | |||
{{comp-stub}} |
{{comp-stub}} |
||
⚫ | |||
[[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.