Velocity 是一个基于 Java 的模板引擎,它允许用户使用简单的模板语言来引用由 Java 代码定义的对象。当 Velocity 应用于 Web 开发时,界面设计人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 Web 站点。也就是说,页面设计人员可以只关注页面的显示效果,而 Java 程序开发人员关注后台业务逻辑的编码。 Velocity 将 Java 代码从 Web 页面中分离出来,这样为 Web 站点的长期维护提供了便利,同时也为我们在 JSP 和 PHP 之外又提供了一种可选的方案。
velocity语法规则:
1.获取:
$!(var):如果有值则输出,如果为空,则不显示;
${var}:如果有值则输出,如果为空,则将该代码原样输出;
2.设置:
#set{$var=5}:设置var的值为5;
3. 判断:
#if{! $var}判断var为空
#elseif{$var}判断var不为空
#else{}
#end
4.循环:
循环数组或List时:
#foreach($var in list)
##输出当前迭代的次数
$velocityCount
${var}
#end
5.判断是否为null
1)使用 #ifnull() 或 #ifnotnull()
#ifnull ($foo)
要使用这个特性必须在velocity.properties文件中加入:
userdirective = org.apache.velocity.tools.generic.directive.Ifnull
userdirective = org.apache.velocity.tools.generic.directive.Ifnotnull
2) 使用null工具判断
#if($null.isNull($foo))
6.#define() d定义脚本
例如:
#define($js_content)
<script>
window.__pagename = 'ai_index';
</script>
<script src="$opPage.cdnPrefix/js/project/wap_oc_lvshi/common/$viewUtil.getJsMainFileName(true)?v=$viewUtil.getJsFileVersion()" crossorigin></script>
<script src="$opPage.cdnPrefix/js/project/wap_oc_lvshi/ai/$viewUtil.getJsMainFileName(true)?v=$viewUtil.getJsFileVersion()" crossorigin></script>
#end
7.#inclede #parse都是用来引入本地文件的
区别:
#parse只能引入单个文件,#include可以引入多个文件,用 , 分隔
#parse引入的文件还会被引擎解析,#include引入的文件不会被引擎解析
#parse引入的文件和父文件之间变量都是共享的
后续继续更新~