velocity指导手册

1. 什么是Velocity?

        Velocity是一个基于Java的模板引擎,允许网页设计者引用Java代码中定义的方法。Web设计师可以和Java程序员一起根据MVC模型开发网站,也就是说页面设计师可以专注于创建一个良好的网站,而程序员可以专注于编写一流的代码。Velocity把Java代码从网页中分离出来,使网站在长期运行中更易于维护,并为JSP或PHP提供了一个可行的替代方案。

        Velocity可以用于从模板生成网页、SQL和其他输出,既可以作为生成源代码和报告的独立实用程序使用,也可以作为其他系统的集成组件使用。

2. 应用场景

1)Web应用程序:作为应用程序视图,展示数据。

2)源代码生成:Velocity可用于基于模板生成java代码。

3)自动电子邮件:网站注册,认证等的电子邮件模板。

4)网页静态化:基于Velocity模板,生成静态页面。

3. Velocity组成

        Velocity主要分为app、context、runtime和一些辅助util几个部分。

1)app模块:主要封装了一些接口,暴露给使用者。主要有两个类Velocity和VelocityEngine;

2)context模块:主要封装了模板渲染需要的变量;

3)runtime模块:整个Velocity的核心模块,将加载的模板解析成语法树,调用方法mergeTemplate时会渲染整棵树,并输出最终的渲染结果。

4)RuntimeInstance类为整个Velocity渲染提供了一个单例模式,拿到这个实例就可以完成渲染过程了。

        在线Mud商店实例:

<html>
    <body>
        Hello $customer.Name!
        <table>
        #foreach( $mud in $mudsOnSpecial )
            <tr>
                <td>
                    $flogger.getPromo( $mud )
                </td>
            </tr>
        #end
        </table>
    </body>
</html>

4. Velocity模板语言(VTL)简单说明

        VTL提供最简单的方式把动态内容到网页中。所有的VTL语句以#字符加一个指令开始。当用户请求网页时,模板引擎会从网页中查找所有的#字符,然后确定哪些标了VTL语句的开始,那些#字符与VTL无关。变量以$开头,字符串值用引号括起来。单引号确保引用的值按原样分配给引用,双引号允许进行插值。

#set($a = "Velocity")

5. Velocity的Hello World实例

        一旦变量分配了值,那么在HTML文档中都可以引用了。

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

6. 注释

        单行注释用##,多行注释使用#*和*#。

7. 引用

        VTL中有多种类型的引用,包括变量、属性和方法。标识符必须以字母开头,余下的可以是数字、字母或下划线。引用语句就是对引擎上下文对象中的属性进行操作。语法方面分为常规语法($属性)和正规语法(${属性})。

8. 可选值

My name is ${name|’John Dow’} ##If $name is null, empty, false or zero, then the ‘John Dow’will be displayed.

9. 指令

        指令主要用来定义重用模块、引入外部资源、流程控制。

       #set指令用来设置值。#if/#ElseIf/Else指令用来做条件判断。#foreach指令用于循环,#include指令用来引入文件,#parse指令解析文件,#evaluate指令用于做动态计算,#define指令用力啊定义VTL引用块。#macro指令宏定义。

10. VelocityTools介绍

        Velocity Tools是Velocity模板引擎的一个子项目,分为两个部分GenericTools和Velocity View,用于将Velocity与Web开发环境集成的工具包。

        GenericTools是一组类,提供在标准Velocity项目中使用工具的基础结构,以及在通用Velocity模板中使用的一组工具。Velocity View包括所有的通用工具结构和在web应用程序的视图层中使用Velocity的专用工具,其中包括用于处理Velocity模板请求的VelocityViewServlet或VelocityLayoutServlet,用于在JSP中嵌入Velocity的Velocity的VelocityViewTag。

11. VelocityView使用

        VelocityView包含所有GenericTools并添加了用于在Web应用程序的视图层中的使用Velocity的基础结构和专用工具。其中包括处理Velocity模板请求的VelocityViewServletVelocityLayoutServlet,以及用于把Velocity嵌入JSP中的VelocityViewTag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐江小鱼

知识创造财富,余额还是小数

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值