Jakarta Velocity
From Wikipedia, the free encyclopedia
Apache Velocity | |
![]() |
|
Developer: | Apache Software Foundation |
---|---|
Latest release: | 1.5 / March 6, 2007 |
OS: | Cross-platform |
Use: | template engine |
License: | Apache 2.0 licence |
Website: | http://velocity.apache.org/ |
This article is about Velocity as template engine. For other meanings, see velocity (disambiguation).
Apache Velocity is an open source package directed by the Apache Software Foundation. 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.
[edit] 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 an open source project.
[edit] See Also
[edit] External links
|
|
---|---|
Top level Projects | Apache HTTP Server • ActiveMQ • Ant • APR • Beehive • Cayenne • Cocoon • Directory • Excalibur • Forrest • Geronimo • Gump • iBATIS • Jackrabbit • James • Lenya • Maven • Mina • MyFaces • OFBiz • mod_perl • SpamAssassin • Struts • Tcl • Tomcat • Axis • Axis2 • WSIF • XMLBeans • Tapestry • HiveMind • WebWork 2 • Harmony • Velocity • Santuario • Shale |
Apache Jakarta Project | BCEL • BSF • Cactus • Commons • ECS • HttpComponents • JCS • JMeter • ORO • POI • Regexp • Slide • Taglibs • Turbine |
Apache DB | Derby • Torque • DdlUtils • OJB • JDO |
Apache Portals | Jetspeed 1 • Jetspeed 2 • Graffito • Pluto • WSRP4J |
Apache Lucene | Lucene Java • Nutch • Hadoop • Lucene4c • Lucy |
Apache XML | AxKit • Xalan • Xerces |
XML Graphics | Batik • FOP |
Apache Logging | Log4j • Log4Cxx • Log4Perl • Log4PLSQL |
Apache Incubator | XAP • River • OpenEJB • OpenJPA • ServiceMix • Wicket • Graffito • Tuscany • Log4Net • Roller • Felix • Abdera • CeltiXfire • FtpServer • Heraldry • Ivy • JuiCE • Kabuki • Lokahi • Lucene.Net • mod_ftp • NMaven • Ode • stdcxx • Woden • WSRP4J • Yoko • Log4PHP • WADI • Qpid • stdcxx • TripleSoup • UIMA • wadi |
License: Apache License • Website: apache.org |