Velocity #include/#parse/#stop指令
2016-07-09 15:52
375 查看
#Include和#Parse都是用于将本地文件引入当前文件的指令,而且被引入的文件必须位于TEMPLATE_ROOT。
#Include
被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板。使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量。如果有多个文件,以逗号隔开即可。比如#Include("a.gif",
"b.html", $file)。
#Parse
#Parse用来在当前模板中引入并执行另一个(本地的)模板——可以是静态的,也可以是动态的——并把结果嵌入到当前位置。#Parse()指令的参数,可以是一个双引号括起来的文件名,也可以是一个变量,但是它不能接受多个参数。
被#Parse引入的文件仍然可以使用#Parse指令。在velocity.properties文件中有一个属性directive.parse.max.depth,默认值是10,它指定了#Parse嵌套的最大层次。既然#Parse嵌套是允许的,#Parse递归也是允许的。
假如a.vm #Parse b.vm,那么a.vm中定义的变量$v,在b.vm中可以随便使用。如果b.vm也定义了$v,那么b.vm中用到的将会是自己的$v,而不是a.vm中的$v。
#Stop
#Stop指令会停止模板引擎的执行,并返回。这在debug中比较有用。
#Include
被#Include引入的文件,其内容不会被Velocity引擎解析,所以这些文件应该是静态模板,即不含有VTL的模板。使用#Include()指令时,参数是被双引号括起来的文件名或者是表示文件名的变量。如果有多个文件,以逗号隔开即可。比如#Include("a.gif",
"b.html", $file)。
#Parse
#Parse用来在当前模板中引入并执行另一个(本地的)模板——可以是静态的,也可以是动态的——并把结果嵌入到当前位置。#Parse()指令的参数,可以是一个双引号括起来的文件名,也可以是一个变量,但是它不能接受多个参数。
被#Parse引入的文件仍然可以使用#Parse指令。在velocity.properties文件中有一个属性directive.parse.max.depth,默认值是10,它指定了#Parse嵌套的最大层次。既然#Parse嵌套是允许的,#Parse递归也是允许的。
假如a.vm #Parse b.vm,那么a.vm中定义的变量$v,在b.vm中可以随便使用。如果b.vm也定义了$v,那么b.vm中用到的将会是自己的$v,而不是a.vm中的$v。
#Stop
#Stop指令会停止模板引擎的执行,并返回。这在debug中比较有用。
相关文章推荐
- asp #include file 与 #include virtual 的区别小结第1/2页
- c++ #include是怎么样工作的?
- html文件中jquery与velocity变量中的$冲突的解决方法
- velocity显示List与Map的方法详细解析
- JAVA velocity模板引擎使用实例
- Velocity基本语法介绍
- Spring MVC 集成 Velocity 配置
- velocity 之坑:不同枚举类(enum)有相同的静态(static)方法,无法访问第二个枚举类
- Velocity入门例子
- Velocity读取后台数据
- 树形结构
- Velocity快速入门教程-脚本语法详解(转)
- #include <unistd.h>
- c/c++中#include <>与#include""区别
- velocity 注释语法
- velocity include
- Velocity浅析及与Jsp、Freemarker对比
- Velocity 官方实例学习二 (context_example)
- Velocity 官方实例学习一 (app_example1)
- velocity解析器vm页面Date类型时间显示解决方案