今天看bboss的xml文件,要用bboss的查询检索功能,结果有一些东西看不懂,问了尹标平大佬果然是用了velocity,那就看看学习学习吧,万一以后我维护Bboss源码了呐,时刻准备着、不行就再(pao)学(lu)
是MVC架构的一种实现;基于java的模板引擎,允许任何人使用简单而强大的模板语言来引用定义在Java代码中的对象。
页面设计人员可只关注页面的显示效果,java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
后台提供数据,vm显示、编辑数据(和freemaker差不多但是不一样,freemaker要强大些)写到这里就不想写了,分享这个链接吧,写到很好
还是看一下veloctiy语法吧,是不是很freemaker差不多
/**
* Created by Administrator on 2018/4/28.
*/
<html>
<body>
<pre>
Hello Lily Velocity
username:$!{username}
User:${user.name}
User:${user.age}
method:${user.getName()}
method2:${user.setName("50")}
method3:${user.getName()}
<input type="text" name="email" value="$email"/> ##$email
<input type="text" name="email" value="$!email"/> ##没有值时空字符串
<input type="text" name="email" value="$!{email}"/>
$foo.Bar == $foo.getBar()
$data.setUser("jon") == #set($data.User = "jon")
$data.getRequest().getServerName() == $data.Request.ServerName==${data.Request.ServerName}
#set($user.age=18)
age:$(user.getAge())
## 解析和呈现包含在双引号字符中的字符串文字
##单引号字符中时,将不会被解析
#set($directoryRoot="www")
#set($templateName="velocity.vm")
#set($template = "$directoryRoot/$templateName")
$template
#if($user)
<strong>Velocity!</strong>
#end
$set($foo=10)
#if($foo<10)
**GO NORTH**
#elseif($foo == 10)
**GO EAST**
#elseif($bar ==6)
**Go south**
#else
**Go west**
#end
##loops循环
#foreach($color in $colors)
Color $!{foreach.index}/$!{foreach.count}:$!{color}
#end
#foreach($key in $map.keySet())
Number $!{foreach.index}/$!{foreach.count}:$!{key} $map.get($key)
#end
##include包含:导入本地文件,title不会填充hello.vm
#set($title="FastNews")
Include:#include("hello.vm")<br>
##parse:导入包含VTL的本地文件
##在TEMPLATE_ROOT下,会使用一个参数,填充hello.vm
#parse("hello.vm")
#set($sourcel="abc")
#set($select = "1")
#set($dynamicsource = "$sourcel$select")
#evaluate($dynamicsource)##显示的是abc而不是abc1.
</pre>
</body>
</html>