Introduction to Velocity

Velocity is a simple yet powerful Java-based template engine that renders data from plain Java objects to text, xml, email, SQL, Post Script, HTML etc. The template syntax and rendering engine are both easy to understand and quick to learn and implement.

Capabilities reach well beyond the realm of the web (ex. xdoclet, middlegen, Intellij etc.) to enable programmers to focus on writing functional code, while in parallel, template designers can directly modify templates to create attractive output. In webapps, Model-View-Control (MVC) separation can be strongly enforced because templates do not contain "code". Or, at the programmers discretion "tools" can be made available in the template for more direct access to data.

VelocityTools is a sub-project which contains extensions aimed at solving common web and non-web problems. For example, GenericTools provide Date/Number formatting, Math operations, and more. VelocityView provides a time-tested servlet which can render *.vm files in web applications. Finally, VelocityStruts builds upon this foundation to give Struts developers a robust and easy-to-implement alternative to JSP. Additional non-web examples are Anakia and DVSL which use Velocity for "easier than XSLT" transformations of XML.

More details and the official documentation are on the Velocity Home Page. Be sure to read the Overview, Getting Started, and the Web Application Guide. You'll also want to check out the VelocityFAQ, or post your question to the Velocity user list.

This Wiki contains community and developer-oriented content. Please feel free to add new articles, FAQ entries, or code examples. If you've created a website or application that uses Velocity, add it to the PoweredByVelocity page!

Resources: Code and Articles

How to Get Involved

Architecture Discussions & Debates

Discussions/proposals/votes concerning various issues around the future architecture of Velocity.

Developers Corner

Organizational

Committer infos

Special pages

FrontPage (last edited 2013-02-02 21:03:02 by NathanBubna)