Nvelocity动态模板语法

//一、变量定义、初始化和赋值
#set($i = 0) //变量命名规范:必须以$开始,第一个字符必须是字母,后来的可以是下划线、数字
//velocity是弱类型语言,$i若是数字,加不加双引号也可以,进行操作(具体问题具体解决)

#set($i = $i + 1)

#set($List = ["男","女"])//创建数组

#foreach($p in $List)

List成员:$p


#end


//二、流程控制:
1、#if 判断
#if($i == 0 && $i == 1)

#else

#end

或:
#if($i == 0 || $i == 1)

#elseif($i < 0)

#end

2、#foreach 循环
#foreach($person in $Data)
$https://www.360docs.net/doc/a716231958.html,$person.Email
#end

3、#foreach($item in $data)
#beforeall

#odd //奇数

#even //偶数

#each //都显示

#after

#afterall //这两种相当与循环的后部分

#nodata
No data found! //如果没有数据的情况
#end


//三、类库,方法
#set($a = 123)
$a.GetType() //输出System.Int32
#set($b = "XIA)
$b.SubString(0,1) //输出X
$b.Replace("XIA","xiaxia")
$b.Trim()
$b.ToString(""yyyy年MM月dd日"")


$velocityCount //获取从1开始的序数,由该字段得到循环计数器

$!name //name有值时输出name,没值时空输出
//要是没有!,就会直接输出$name,这是NVelocity的语法规则
$!{name}//为了断开变量和后面字符串,比如,$!{name}show...


//四、模板加载
1、静态模板:#include("foot.htm") //加载的内容可以是别的文档
2、动态模板:#parse("head.htm") //里面需要进行内容渲染,模板格式可以是 .vm
//多个文件用逗号隔开

//五、定义宏
#maco(macoName)

#end

//调用宏:#macoName()

eg1:一个参数
#maco(test $name)
$name
#end
//调用:#test("aaa")

eg2:两个参数
#maco(test $color $names)
#foreach($name in $names)
$name
#end
#end
//调用:
//#set($color="red")
//#set($names=["xiaxia","mama","baba","didi"]) //这个一维数组的定义方法不一定对!一般是dataRows集合,数据库内容
//#test($color,$names)


#foreach($dd in $Data)
#if($dd.MajorID == $MID1 && $dd.MajorYear == $G1 && $dd.WeekOrder == "1" && $dd.DayOrder == "1")
#if($dd.IsBig == "1")
$dd.CourseName
#elseif($dd.IsDouble == "00") ##没课

#elseif($dd.IsDouble == "11") ##单双周
$dd.CourseName
#elseif($dd.IsDouble == "12") ##单/双周:单周
$dd.CourseName(单)
#elseif($dd.IsDouble == "21") ##单/双周:双周
/$dd.CourseName(双)
#elseif($dd.IsDouble == "10") ##单周
$dd.CourseName(单)

#elseif($dd.IsDouble == "01") ##双周
$dd.CourseName(双)
#end
#end
#end



相关文档
最新文档