velocity 在netiler常用指令及应用

使用示例

用法

<div>

  Hello World

</div>

赋值与取值

赋值#set($word="hello")

取值 $word  推荐写成${word}

取值的另一种写法 $!word

$word $!word区别是当变量wordnull时,$word会在前端显示字符串"$word",而$!word不显示任何东西

循环

#foreach($stu in  $stulist)

$i,$stu.name,$stu.sex,$stu.age

#end

$stulist为后台传来的Student对象集合

#foreach() 结合 #if() #break()用法示例

#foreach($item in $list)

  $item

  #if($item=="1")

    #break()

#end

#end

包含

#include('path') 加载其他.vm文件,文件加载支持相对路径的模式。

 #include('path','project')加载其他项目.vm文件,默认路径以/开头。

支持

#px()

脚本,css样式,图像文件

#script('student')

引入/web/resource/script/student.js

#javascript()               <script>

alert('abc');    等同于       alert('abc');

#end                         </script>

#style('student')

将加载web/resource/theme/style.css文件,如果文件不存在,页面将不载入。

#p_w_picpath('student')

将加载web/resource/p_w_picpath/p_w_picpath.jpg文件,等同于HTML<img/>标签。

#path('') 的值为project.xmlnamespace的值并以/开头,/结尾

输出/demo/

#path('index.nsp') 值为/demo/index.nsp

文档标题

#title('hello velocity')

页面源代码

#date('2013-04-01') 输出2013-04-01

格式化

#date('2013-04-01','yyyyMd') 输出201341

指令调用java对象

#bean('com.leadal.demo.service.DemoService',$bean)  ,将加载Spring中的com.leadal.demo.service.DemoService对象,并赋值变量$bean。提供下面程序访问。

注:如果对象com.leadal.demo.service.DemoService是个实体类,并不被spring控制,也将自动初始化。

#btn(‘student’)  使用#btn()时框架默认引入px支持

添加/web/resource/btn/student.btn中所有按钮

#btn(‘student’,[‘add’,’edit’,’delete’])

添加/web/resource/btn/student.btnadd,edit,delete三个按钮