一个基于Java的模板引擎Velocity

2018-06-22  本文已影响0人  milletmi

Velocity可以获取在java语言中定义的对象,从而实现界面和java代码的真正分离,这意味着可以使用velocity替代jsp的开发模式了
提示:velocity中大小写敏感。
基本的Velocity语法

1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等;
如:
#if($info.imgs)
<img src="$info.imgs" border=0>
#else
<img src="noPhoto.jpg">
#end

2、"$"用来标识一个对象(或理解为变量);如
如:$i、$msg、$TagUtil.options(...)等。

3、"{}"用来明确标识Velocity变量;
比如在页面中,页面中有一个$someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这 个变量的后面紧接着显示name字符,则上面的标签应该改成${someone}name。

4、"!"用来强制把不存在的变量显示为空白。
如当页面中包含$msg,如果msg对象有值,将显示msg的值,如果不存在msg对象同,则在页面中将显示$msg字符。这是我们不希望的,为了把不存 在的变量或变量值为null的对象显示为空白,则只需要在变量名前加一个“!”号即可。
如:$!msg
(1)判断null

#if( $name  ==  null)

 something code

#end

(2)判断null或者false

#if( !$name)

 something code

#end

(3)判断null或者空字符串

#if( "$!name" == "")

 something code

#end
————————————————
版权声明:本文为CSDN博主「晨剑飞」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/happy_cheng/article/details/43769725
变量规范的写法
${name} ,也可以写成:$name。提倡用前面的写法。

变量的赋值:
 $name="hello"

循环
#foreach ($element in $list)
This is $element.
$velocityCount //下标
#end
Velocity还特别提供了得到循环次数的方法,$velocityCount变量的名字是Velocity默认的名字。
#foreach($fundDet in $!list)  
$!{velocityCount}
$!{list.size()}   //数组的长度
#end
条件语句

#if (condition)
#elseif (condition)
#else
#end


语句的嵌套

#foreach ($element in $list)
## inner foreach 内循环
#foreach ($element in $list)
This is $element. $velocityCount <br>inner<br>
#end
## inner foreach 内循环结束
## outer foreach
This is $element.
$velocityCount <br>outer<br>
#end

语句中也可以嵌套其他的语句,如#if…#else…#end等。

超出几个字...展示
velocity 的$!display.truncate($!{变量},18,"...")
超出18个字...

<!-- 页面公用结构、velocity变量绑定到global变量中,变量不能为对象 -->
<script type="text/javascript">
    window.global = window.global || {};
    global.list = '$!list';
</script>
上一篇下一篇

猜你喜欢

热点阅读