一个基于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>