velocity语法学习小结

这篇博客总结了Velocity语法,包括注释、变量、常用指令、逻辑运算符和内置对象的使用。详细介绍了变量引用、条件判断、for循环、宏定义以及文件包含等关键概念,为理解和运用Velocity提供了清晰的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

velocity注释


注释的代码将不会被引擎渲染输出,velocity有3种注释。

1,单行注释:

##  这是单行注释

2,多行注释:

#* 
  这里是多行注释
  这里是多行注释

*#

3,文档格式:

#**  
  这里是多行注释,
  对文档、作者、版本等的说明。

*#

注意:将“#”换成“/”就是大家熟悉的 java 注释 “//”、“/* ”、“/**”。


velocity变量


变量引用以"$"号开头,变量区分大小写。

命名规则:变量名由字母、数字、下划线(_)与中划线(-)组成,但第一个字符必须是大写或者小写的字母

变量有2种引用方式: $变量名 和 ${变量名},小括弧用于区分变量名与常量值

## 小括弧用于区分变量名与常量值:有变量a值为hi, 变量ab值为hello
$ab  ## 变量为ab,输出: hello
${ab} ## 变量为ab,输出: hello
${a}b ## 变量为a,b是常量值,输出: hib

## 通过.引用变量属性:有对象a,a有属性b=xyz
$a.b ## 变量属性a.b,输出: xyz
${a.b} ## 变量属性a.b,输出: xyz
${a}.b ## 变量为a,“.b”是常量值,输出: 对象字符串值.b

若变量为null或未定义则将本身作为文本输出,即 $c 输出结果为$c, ${c}输出结果为${c}

若$后紧跟!表示当null或未定义时输出为空字符串,即 $!c 和 $!{c} 的输出结果为空字符。

注意:velocity变量的第一个字符是大写或者小写的字母,故$2.5是美元,不是变量,变量第一个字符是字母。


velocity常用指令


指令以"$"号开头

1,变量赋值:#set

#set($name="velocity")

#set($colors=["red","yellow","blue"])


2,条件判断:#if  #elseif  #else  #end 

#if("$!colour"="yellow")

   This is yellow colour.

#elseif("$!colour"="red")

  This is red colour.

#else

  This is other colour.

#end


3,for循环:#foreach

4,停止执行并返回,一般用于debug:#stop

5,定义宏(宏可以理解成函数):#macro

宏的定义:

#macro(宏名 $参数1 $参数2...)

  语句体(即函数体)

#end

宏的调用:#宏名($参数1 $参数2...)

注意:参数之间是用空格隔开的,#macro 支持内嵌语法。

举例:如下定义了一段宏,用于输出表格中的列表 

#macro( tablerows $color $somelist ) 
  #foreach( $something in $somelist ) 
     <tr><td bgcolor=$color>$something</td></tr> 
  #end 
#end 


在模版中,只需要使用 #tablerows($color $somelist) 就可以取代里面的代码了: 

#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] ) 
#set( $color = "blue" ) 
<table> 
  #tablerows( $color $greatlakes ) 
</table>

6,引入本地文件:#include与#parse

区别:

(1)#parse 只能指定单个对象;#include可以引入多个文件,多个文件用逗号分隔,文件可以是文件名,也可以是变量,如 #include("book.txt",$book)

(2)#parse 引入的文件内容会通过velocity模块引擎解析,但是#include不会
(3)#parse可以递归调用


velocity逻辑运算符

and 、or、 not

 

velocity内置对象 

$request、$response、$session

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值