当前位置:首页 > 开发 > 开源软件 > 正文

[Velocity一]Velocity语法基础入门

发表于: 2014-08-19   作者:bit1129   来源:转载   浏览:
摘要: 用户和开发人员参考文档 http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html   注释 1.行级注释## 2.多行注释#*  *#   变量定义 使用$开头的字符串是变量定义,例如$var1, $var2,   赋值 使用#set为变量赋值,例

用户和开发人员参考文档

http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html

 

注释

1.行级注释##

2.多行注释#*  *#

 

变量定义

使用$开头的字符串是变量定义,例如$var1, $var2,

 

赋值

使用#set为变量赋值,例如

#set($var1 = 100)
#set($str="foobar")
#set($var2 = $var1)
$var2 ##显示100

1. #set指令需要使用小括号将赋值语句括起来

2. #set语句后面不要加;,否则;将解析到页面上

3. #set是行级指令,不需要使用#end

 

{}含义

假如有一个Velocity变量,例如$abc, 那么$abcdef这种串如何表达它的含义,即变量$abc的值连接def,默认Velocity会认为$abcdef是一个变量,此时需要使用${abc}def来表达它的含义

 

 

算术运算

1. 运算符: + - * / %

2. 使用#set语句执行算术运算操作

 

#set($a = 5)
#set($b = 4)
#set($c = 3)
#set($d = 2)
#set($e = 7)
#set($a= $a+$b*$c/$d - 6%$e) ##5+4*3/2-6%7=5
"Result:" $a

关系运算

> >=  == <= <

 

逻辑运算

&& || !

 

 

条件判断

    #set($var1 = 20)
    #if($va1 >= 100)
        $var1 is greater than or equals 100
    #elseif($va1 >= 50)
        $var1 is betwen [50, 100)
    #elseif($var1 >= 0)
        $var1 is between [0,50)
    #else
        $var1 is negative
    #end

 

1. #if是条件判断语句,#if/#else, #if/#elseif/#else 是if/else条件判断语句

2. if/elseif使用括号括起来

3. #if是块级指令,因此使用#end显示指定块级指令的结束

 

循环语句

 

   #set($array = [1, "Two", 3,"Four"])
   #foreach($i in $array)
       <li>
         The $velocityCount element in the array is $i
       </li>
   #end

 

1. 数组定义类似于Javascript,用中括号[]括起来,以逗号分隔

2. $velocityCount是Velocity内置属性,用于指示当前循环的次数,从1开始计算,即第一次循环,它的值是1

3. #foreach in语句用于表示循环,

4. #foreach语句也是块级语句,需要使用#end来指明语句的结束

 

 $!的含义

 $!var1的含义是如果变量var1存在,则取其值,否则取空,即不显示,它等价于如下语句


    #set($var1 = 100)
    $!var2 ##show nothing
    $!var1 ##show 100

    #if($var1)
        $var1
    #end

    #if($var2)
    #var2
    #end

 

 #include指令

 #include可以在vm中指定静态文件,这跟JSP的include标签的含义一样,例如

#include("staticHTML.html"),这个staticHTML.html

 

#include指令默认从classpath开始寻找文件??目前不确定!

 

 

Velocity资源加载器

在#include指令一节说到了include的文件到什么位置进行加载,这个位置与velocity资源加载的配置有关,常用的加载位置包括webapp资源加载器,文件路径资源加载器,还有类路径记载器,在velocity.properties中,添加如下的配置项表示webapp资源加载器,项目对于web项目的根开始算起

 

resource.loader=webapp
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader

#relative to the web context, under the same parent directory with WEB-INF
#that is, vm and WEB-INF are sibling folders
webapp.resource.loader.path=/vm

 

   其中的webapp是资源加载器的名称,/vm是web应用的根下面的vm目录,也就是说,vm目录和WEB-INF目录是平级的

 

 

[Velocity一]Velocity语法基础入门

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
代码下载地址:http://download.csdn.net/detail/jxlgzwh/6025487 项目结构: add.vm 源码: <ht
参考书籍:Tomcat java web 开发技术详解-孙卫琴-第二版 电子书下载:http://pan.baidu.com/share/l
作为自己正式接触并应用的第一门编程语言,在Alex和武sir两位大王的要求下,开始了写博客总结的日子
1 简介 Velocity是一款基于Java的模板引擎。它允许Web页面设计者引用Java代码中定义的方法。Web设计
转开发指南 目 录 1.开始入门. 3 1.Getting Started3 2.Dependencies 依赖资源. 3 2.参考资源:. 4
Velocity是一个基于java的模板引擎。它允许任何人仅仅简单的使用模板语言来引用由java代码 定义的对
http://velocity.apache.org/tools/releases/1.3/generic/ http://velocity.apache.org/tools/devel/
http://velocity.apache.org/tools/releases/1.3/generic/ http://velocity.apache.org/tools/devel/
(1)为什么要使用模版语言? 在服务器端可以使用 Velocity 处理模板和生成的动态内容(HTML、XML等
今天在使用velocity模版引擎中的include时出现模版应用错误,觉的引用的路径没问题,但确实报错了,
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号