Velocity官方简介:
Velocity是基于java的一套模板引擎,它让我们可以用简单的模板语言和后台的java代码关联起来。通过MVC架构,Velocity可以让web端开发和java后台可发同时进行,这样web端(前端页面)开发人员就可以专心于开发漂亮的页面,而后端java开发人员就可以专注于后台一流代码的编写。它让前后端的开发分离开来。
使用Velocity模板的页面文件是以.vm结尾的和.jsp很像。
1、判读语句
#if(条件)
内容
#elseif
内容
#end
例子1:
- 可以用在<div>、<input>、<a>...等标签外
#if($!{userResult.userStatus} == 11 || $!{userResult.userStatus} == 10)
<div class="ui-tips refund-nt"><i class="iconfont"></i>代码。。。</div>
#end
- 还可以用在<div>、<input>、<a>...等标签内
<input type="text" #if($!{userResult.name}) value="$!{userResult.name}" #elseif value="Hellopocher" #end>
2、循环语句,
#foreach(one in ones)
内容 ($velocityCount 放在#foreach循环中是一个角标)
#end
例子1:
#foreach($!{one} in $!{ones})
<a href="$!{one.url}" ></a>
#end
3、${}与$!{}区别
例子:
${str}:如果str没有值,则页面显示str本身;
$!{str}:如果str没有值,则页面显示“”(“”在页面上的显示效果就是啥也看不到);
4、#set用法
#set是用来定义变量的
例子:
#set( $name = "pocher!" )
Welcome $name to oschina.net
执行后结果
Welcome pocher! to oschina.net
总结:Velocity就是Servlet + Velocity的模式,早期我们使用的Jsp开发模式Jsp+JavaBean,我们更改为Servlet+JavaBean+Velocity,想想是不是已经替代了Jsp+JavaBean,并更彻底的把Java代码去除在Jsp(vm)外,如果光使用Struts(Servlet+Jsp),那么带来的代价是Java代码总或多或少出现在Jsp上,即使可以做到不出现Java代码,但做过复杂架构系统的开发者都知道,代价也是很昂贵的,并且在可维护性、和网页设计师的集成开发上存在一定的困难,所以我们在这里能感觉到,Servlet+JavaBean+Velocity的模式较好的实现了OOD的概念。而在效率上,大家也不用担心,此种结合方式比Servlet+Jsp的方式要高效一些。