blob: 5b02398f6755e66d04349f1aa8354ed82ad0bce5 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<title>Velocity</title>
<author email="velocity-dev@jakarta.apache.org">Velocity Documentation
Team</author>
</properties>
<body>
<section name="What is Velocity?" href="WhatisVelocity?">
<p>Velocity is a Java-based template engine. It permits anyone to use a simple yet
powerful template language to reference objects defined in Java code. </p>
<p>Velocity is written in 100% pure Java and can be easily embedded into your own
applications. It also provides easy integration into web applications through a
servlet and tasks for using Velocity from
<a href="http://ant.apache.org/">Apache Ant</a>.</p>
</section>
<section name="Where can Velocity be used?">
<subsection name="Web based applications">
<p> When Velocity is used for web development, Web designers can work in parallel with
Java programmers to develop web sites according to the Model-View-Controller
(MVC) model, meaning that web page designers can focus solely on creating a site
that looks good, and programmers can focus solely on writing top-notch code.
Velocity separates Java code from the web pages, making the web site more
maintainable over its lifespan and providing a viable alternative to
<a href="http://java.sun.com/products/jsp/">Java Server Pages</a> (JSPs) or
<a href="http://www.php.net/">PHP</a>. </p>
</subsection>
<subsection name="Template based code and report generation">
<p> Velocity's capabilities reach well beyond the realm of the web; for example, it
can be used to generate SQL, PostScript and XML (see
<a href="/engine/anakia/index.html">Anakia</a> for more information on XML
transformations) from templates. It can be used either as a standalone utility for
generating source code and reports, or as an integrated component of other
systems. </p>
</subsection>
<subsection name="Framework Integration">
<p> A huge number of other projects have Velocity integration either natively or
through 3rd party add-ons. Some examples are:</p>
<ul>
<li>
<a href="http://jakarta.apache.org/turbine/">Turbine</a> uses Velocity
as its main view layer.</li>
<li>
<a href="http://struts.apache.org/">Struts</a> offers Velocity
integration through a Velocity subproject called
<a href="/tools/">Velocity Tools</a>
.</li>
<li>
<a href="http://www.springframework.org">Spring Framework</a> supports
Velocity through its
<code>VelocityConfigurer</code> and <code>VelocityViewResolver</code>.</li>
</ul>
</subsection>
</section>
<section name="Velocity projects">
<p> Velocity currently consists of three sub-projects:</p>
<ul>
<li>
<a href="/engine/">Velocity Engine</a>. This is the actual
templating engine which does all the work. This sub-project contains also the task
definitions for using Velocity from
<a href="http://ant.apache.org/">Apache Ant</a>. </li>
<li>
<a href="/tools/">Velocity Tools</a>. This sub-project contains
tools and other useful infrastructure to build web- and non-web application using
Velocity. You will find e.g. code for
<a href="http://struts.apache.org/">Struts</a> integration or the
standalone Velocity View Servlet here. </li>
<li>
<a href="/dvsl/">Velocity DVSL</a>. DVSL
(Declarative Velocity Style Language) is a tool modeled after XSLT and is intended
for general XML transformations using the Velocity Template Language as the
transformation language. </li>
</ul>
</section>
<section name="Where do I get releases?" href="WheredoIgetreleases?">
<p> The current release version is version 1.5. </p>
<p> The release distribution is available as a combined source/binary distribution in
<code>tar.gz</code> and
<code>zip</code> formats, and can be downloaded through the
<a
href="http://jakarta.apache.org/site/downloads/downloads_velocity-engine.cgi">
Apache Mirror system</a>. </p>
<p> The Velocity jars are also available through the
<a href="http://www.ibiblio.org/maven/velocity/">central Maven
repository</a>. </p>
<p> Older releases are archived at the
<a href="http://archive.apache.org/dist/jakarta/velocity/">Jakarta
Velocity archives</a>. </p>
</section>
<section name="Where do I get nightly snapshots?"
href="WheredoIgetnightlysnapshots?">
<p> Nightly snapshots of the Velocity subversion source code tree can be found
<a href="http://cvs.apache.org/snapshots/jakarta-velocity/"> here</a>. </p>
<p> These are meant to provide easy access to the actual project source control tree. As
this is our live development workspace, there are no guarantees as to what you will
find there, although we do our best to maintain a buildable source tree. If you are
looking for the stable supported release, please use the current release of
Velocity. </p>
<p> If you are willing to risk getting dirty, we invite you to try the nightly snapshot to
see the current state of affairs. (and help out!)
<a href="http://www.apache.org/dev/version-control.html">Public Subversion
access</a> is also available. </p>
</section>
<section name="How do I contribute, give feedback, fix bugs and so on?"
href="HowdoIcontribute,givefeedback,fixbugsandsoon?">
<p> The Velocity project appreciates any contributions, including documentation
help, source code and feedback. Suggested changes should come in the form of source
code and/or feedback. </p>
<ul>
<li> Report bugs, ask questions, and help new users on the
<a href="http://jakarta.apache.org/site/mail2.html#Velocity"> Velocity
mailing lists</a>. </li>
<li> There's a list of issues waiting to be addressed in
<a href="http://issues.apache.org/jira/browse/VELOCITY"> JIRA</a>. </li>
<li>
<a href="http://wiki.apache.org/jakarta-velocity/FrontPage"> Our Wiki</a>
has a large collection of community written content. Add your own article or
contribute to the FAQ! </li>
<li> Read-only access to the Subversion
<strong>jakarta-velocity</strong> repository is available both
<a href="http://svn.apache.org/repos/asf/jakarta/velocity/trunk/">
online</a> and with a
<a href="http://www.apache.org/dev/version-control.html"> Subversion
client</a>. </li>
</ul>
</section>
</body>
</document>