VMVelocity模板的相关~

1.Velocity是一个基于java的模板引擎。可以引用java对象。
   就是可以根据业务逻辑,使用java对象,对页面布局和页面内容调整和填充。

   我个人认为模板就是提供了一个壳子,在什么样的位置放置什么样的数据,怎么放置数据,以便达到什么样的展示效果。
   所以,模板大同小异,你只需要了解它的使用规则即可。

2. 基本语法:
   1)"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;
   2)"$"用来标识一个对象(或理解为变量);第一个字符必须是字母。可以包含-_a-z0-9;可以取对象的值、引用对象的方法;
   3)"{}"用来明确标识Velocity变量;
   4)"!"用来强制把不存在的变量显示为空白。$!返回空字符~
      我经常混乱的是 搞不明白 $!msg 和 !$msg 的区别。。
   5)区分单引号和双引号:
      #set ($var="helo")
      test"$var" 返回testhello
      test'$var' 返回test'$var'
      可以通过设置 stringliterals.interpolate=false改变默认处理方式

3. 写个例子:

   ##我是注释
   #*我
   也是
   注释*#
   #set ($i=0)
   #foreach($info in $list)
   序号:$i
   #set($i=$i+1)
   #end

   我也写过类似的。比这个复杂点,就是区分最后一个元素和其他元素,还加了其他的功能。这里注意的是“空格”可能带来的问题。不定时炸弹!

4. 玩的愉快!

   个人以前都是玩smarty模板的,不喜欢java,也对java没什么了解。最近后台环境都是vm,故此了解下。
   其实都差不多~~

   个人认为如果不是遍历的语法结构,建议一些简单的逻辑处理还是放在js里处理较好。这样有利于页面与业务逻辑的分离,让人维护代码不那么痛苦!
原文地址:https://www.cnblogs.com/hanyuxinting/p/4202778.html