`
bit1129
  • 浏览: 1067729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[Velocity一]Velocity语法基础入门

 
阅读更多

用户和开发人员参考文档

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模板引擎的基础知识、学习VTL语法、设置和使用velocity.properties配置文件以及如何在Servlet和Spring MVC环境中集成Velocity。 ### Velocity模板引擎的基本使用方法 Velocity可以用来...

    Velocity入门教程(Spring集成Velocity)

    Velocity入门教程,语法,Velocity布局,Spring框架集成Velocity

    Velocity模板入门DEMO

    Velocity以其简洁、易读的语法,为Java开发者提供了一种高效的方式,将视图层与业务逻辑分离,实现了MVC(Model-View-Controller)设计模式中的View部分。 在“Velocity模板入门DEMO”中,我们通常会看到以下几个...

    Java进阶教程Velocity快速掌握模板引擎视频

    本课程从velocity engine也就是velocity引擎开始, 先讲解velocity的基本使用以及基础语法 , 然后再讲解velocity 的进阶内容velocity Tools , 以及velocity作为web项目的视图改如何使用 , 每一部分都会有一个综合案例...

    velocity入门基础

    ### Velocity 入门基础知识 #### 一、Velocity 概述 **Velocity** 是一款基于 Java 的模板引擎,它被设计用来让开发者能够轻松地利用模板语言来引用 Java 代码所定义的对象。这种机制使得 Velocity 成为了一个强大...

    Velocity 入门

    **Velocity 入门** Velocity 是一个基于 Java 的模板引擎,它是 Apache 软件基金会的顶级项目之一。它被广泛用于 Web 开发中,尤其是在 MVC(Model-View-Controller)架构中,作为视图层的技术,帮助开发者将静态...

    Velocity入门小实例,纯java工程

    Velocity是一个基于Java的模板引擎,它允许开发者在模板中使用特定的语法(Velocity Template Language, VTL)来插入动态内容。当模板与数据源结合时,Velocity会生成最终的静态输出,如HTML页面或XML文档。这遵循...

    velocity 入门文档及应用源码,很适合做自动代码生成

    Velocity的中文指南是学习Velocity的基础材料,它涵盖了Velocity的基本概念、语法、指令以及模板设计原则等内容。通过阅读这份文档,初学者可以了解到如何创建和使用Velocity模板,以及如何在模板中嵌入Java变量和...

    velocity入门使用

    总的来说,Velocity提供了一种强大的方式来生成动态内容,其简洁的语法和灵活的架构使其成为Java Web开发中的有力工具。通过实践和学习,你可以快速掌握Velocity并将其应用到实际项目中。对于初学者来说,这是一个很...

    velocity新手入门

    文档是velocity基本知识,语法运用,宏定义等,适合新手入门

    Velocity入门例子

    7. **异常处理**:在使用Velocity时,可能会遇到模板语法错误或者Java对象引用错误。Velocity 提供了详细的错误处理机制,可以帮助开发者快速定位问题。 8. **最佳实践**:在实际应用中,应遵循一些最佳实践,如...

    Velocity入门教程实例

    ### Velocity模板语言的基本语法: 1. 声明:使用#set指令来设置变量。例如:`#set($var="value")`。变量可以是变量引用、字符串、属性引用或方法引用,还可以是数字字面量。 2. 注释:单行注释使用`##`,多行注释...

    velocity入门例子

    【Velocity入门例子】是关于Apache Velocity的初学者教程资料,主要涵盖了如何使用Velocity这一模板引擎进行Web开发的基础知识。Velocity是一个开源的Java模板引擎,它允许开发者将HTML、XML或者其他格式的文档与...

    velocity入门篇

    **Velocity入门篇** Velocity是一个基于Java的模板引擎,它允许开发者将HTML页面设计与应用程序逻辑分离,使得开发者和网页设计师可以协同工作,提高开发效率。Velocity由Apache软件基金会开发并维护,是Apache ...

    springmvc+mybatis+velocity整合实例

    最后,创建Velocity模板文件,如index.vtl,用Velocity语法展示数据。 在实际开发中,通常会使用注解的方式,比如在Controller中使用@RequestMapping,Service和Mapper接口上使用@Service和@Mapper注解,使得整个...

    velocity快速入门

    ### Velocity快速入门详解 #### 一、Velocity简介与应用场景 **Velocity** 是一款基于 Java 的模板引擎,它允许用户通过简单的模板语言来访问由 Java 代码定义的对象。这种设计模式使得 Velocity 成为了一个非常...

    velocity入门简介

    ### Velocity入门知识点详解 #### 一、Velocity简介 Velocity 是一款基于 Java 的模板引擎,用于将数据模型与表现层分离,使得开发人员可以更高效地构建动态内容的 Web 应用程序。它允许用户通过简单的模板语法来...

Global site tag (gtag.js) - Google Analytics