Apache Velocity

Apache Velocity開發者| Apache软件基金会

|

当前版本|

* 2.4.1（2024年10月21日；穩定版本）[1]

源代码库|

* svn.apache.org/repos/asf/velocity/engine/trunk

编程语言| Java
操作系统| 跨平台
类型| 模板引擎
许可协议| Apache许可证 2.0
网站| http://velocity.apache.org/

* 自由软件主题

Apache Velocity是一个基于Java的模板引擎，它提供了一个模板语言去引用由Java代码定义的对象，旨在确保Web应用程序在表示层和业务逻辑层之间的隔离（即MVC设计模式）。

Velocity是Apache基金会旗下的一个开源软件项目，其发布遵循Apache许可证标准。

## 用途

[编辑]

下面是一些利用Velocity的常见应用类型：

* Web应用程序：网页设计者创建HTML页面，并为动态信息预留占位符。页面再由VelocityViewServlet或任何支持Velocity的框架处理。
* 源代码生成：Velocity可基于模板生成Java、SQL或PostScript源代码。大量的开源和商业软件包的开发就是这样利用Velocity。[2]
* 电子邮件自动生成：许多应用程序为了账户注册、密码提醒或自动寄送报表之需自动生成电子邮件。利用Velocity，电子邮件模板可以存储在一个文本文件，而不是直接嵌入到电子邮件生成器的Java代码中。
* XML转化：Velocity提供一个Ant任务——Anakia。Anakia读取XML文件，利用Velocity模板转换成所需的文档格式。常见的应用是将某种格式的文档转换成的一个带样式的HTML文档。

## 代码示例

[编辑]

如下的Web模板：

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

经过Velocity处理后会生成如下的HTML代码：

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

## 参见

[编辑]

* Apache Torque（英语：Apache Torque）
* FreeMarker
* JavaServer Pages
* Thymeleaf

## 参考文献

[编辑]

1. ^ Release 2.4.1. 2024年10月21日  [2024年11月21日].
2. ^ PoweredByVelocity. Velocity Wiki. Wiki.apache.org. 2009-12-30  [2010-03-29]. （原始内容存档于2010-03-23）.

* Harrop, Rob; Darwin, Ian, Pro Jakarta Velocity: From Professional to Expert 1st, Apress: 370, August 30, 2004  [2014-04-12], ISBN 978-1-59059-410-0, （原始内容存档于2009-07-05）
* Cole, Jim; D. Gradecki, Joseph, Mastering Apache Velocity 1st, Wiley: 372, July 16, 2003  [2014-04-12], ISBN 978-0-471-45794-7, （原始内容存档于2012-10-07）

## 外部链接

[编辑]

* Apache Velocity（页面存档备份，存于互联网档案馆）
* Velocity维基（页面存档备份，存于互联网档案馆）
* 基于Java的模板引擎比较 （页面存档备份，存于互联网档案馆）

* 查
* 论
* 编

Apache软件基金会

顶级项目|

* Abdera（英语：Apache Abdera）
* Accumulo（英语：Apache Accumulo）
* ActiveMQ
* Ambari（英语：Apache Ambari）
* Ant
* Aries（英语：Apache Aries）
* Apache Arrow
* Apache HTTP Server
* APR
* Avro
* Axis
* Axis2
* Beam
* Bloodhound（英语：Apache Bloodhound）
* Apache Brooklyn（英语：Apache Brooklyn）
* Buildr（英语：Apache Buildr）
* Calcite（英语：Apache Calcite）
* Camel
* Cassandra
* Cayenne（英语：Apache Cayenne）
* Chemistry（英语：Apache Chemistry）
* CloudStack（英语：Apache CloudStack）
* Cocoon（英语：Apache Cocoon）
* Continuum（英语：Apache Continuum）
* Cordova
* CouchDB
* cTAKES（英语：cTAKES）
* CXF
* Deltacloud（英语：Deltacloud）
* Derby
* Directory（英语：Apache Directory Server）
* Drill（英语：Apache Drill）
* Empire-db（英语：Apache Empire-db）
* ECharts
* Felix（英语：Apache Felix）
* Flex
* Flink
* Flume（英语：Apache Flume）
* Forrest（英语：Apache Forrest）
* Geronimo（英语：Apache Geronimo）
* Gora（英语：Apache Gora）
* Gump（英语：Apache Gump）
* Hadoop
* Hama（英语：Apache Hama）
* HBase
* Hive
* Jackrabbit（英语：Apache Jackrabbit）
* James（英语：Apache James）
* JMeter（英语：Apache JMeter）
* Kafka
* Karaf（英语：Apache Karaf）
* Kylin（英语：Apache Kylin）
* Lucene
* Lenya（英语：Apache Lenya）
* Mahout（英语：Apache Mahout）
* Marmotta（英语：Apache Marmotta）
* Maven
* MINA（英语：Apache MINA）
* mod_perl（英语：mod_perl）
* MyFaces（英语：Apache MyFaces）
* Nutch（英语：Apache Nutch）
* ODE（英语：Apache ODE）
* OFBiz（英语：Apache OFBiz）
* Oozie（英语：Oozie）
* OpenEJB（英语：Apache OpenEJB）
* OpenJPA（英语：Apache OpenJPA）
* OpenNLP
* OpenOffice
* PDFBox（英语：Apache PDFBox）
* Phoenix（英语：Apache Phoenix）
* POI
* Pig（英语：Pig (programming tool)）
* Pivot（英语：Apache Pivot）
* Qpid（英语：Apache Qpid）
* River（英语：Apache River）
* Roller（英语：Apache Roller）
* RocketMQ
* Samza（英语：Apache Samza）
* ServiceMix（英语：Apache ServiceMix）
* Shindig（英语：Apache Shindig）
* Shiro
* Sling（英语：Apache Sling）
* Spark
* Stanbol（英语：Apache Stanbol）
* Storm
* SpamAssassin
* Sqoop
* Apache C++标准库（英语：stdcxx）
* Struts
* Struts 2
* Subversion
* Tapestry
* Thrift
* Tiles（英语：Apache Tiles）
* Tika（英语：Apache Tika）
* Tomcat
* Trafficserver
* Turbine
* Tuscany
* UIMA
* Velocity
* Wave
* Wicket
* Wink（英语：Apache Wink）
* Xalan（英语：Xalan）
* Xerces（英语：Xerces）
* XMLBeans（英语：XMLBeans）
* ZooKeeper

Commons项目|

* Apache Commons Logging（英语：Apache Commons Logging）
* BCEL（英语：Byte Code Engineering Library）
* BSF（英语：Bean Scripting Framework）
* Commons Daemon（英语：Commons Daemon）
* Jelly（英语：Apache Jelly）

Lucene项目|

* Lucene Java
* Lucene.Net（英语：Lucene.Net）
* Nutch（英语：Nutch）
* Solr

Hadoop项目|

* HBase
* HDFS

其他项目|

* Batik
* Chainsaw（英语：Chainsaw (log file viewer)）
* FOP
* Log4j
* XAP（英语：Apache XAP）
* Log4Net
* Ivy（英语：Apache Ivy）

孵化器项目|

* XAP（英语：Apache XAP）
* Samza（英语：Apache Samza）
* Storm

Apache Attic|

* AxKit（英语：AxKit）
* Beehive（英语：Apache Beehive）
* Click（英语：Apache Click）
* Apache BlueSky（英语：BlueSky Open Platform）
* Cactus（英语：Jakarta Cactus）
* Jakarta
* Excalibur（英语：Apache Excalibur）
* Harmony
* HiveMind（英语：Apache HiveMind）
* Lenya（英语：Apache Lenya）
* Slide（英语：Jakarta Slide）
* Shale（英语：Apache Shale）
* Shindig（英语：Apache Shindig）
* stdcxx（英语：Apache C++ Standard Library）
* iBATIS
* XMLBeans（英语：XMLBeans）

许可证标准|

* Apache许可证

* 分类
* 维基共享

规范控制数据库：各地 |

* 德国

|

*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板