1.变量声明:
#set( $foo = "Velocity" )
Hello $foo World!
2.注释:
单行:##
多行: #* 注释内容 *#
3.引用:
(1)变量引用
(2)属性引用
(3)命令引用
所有显示出来的值都是一个字符串 尽管所引用的对象是int或者其他类型
4.变量:
变量名以$开头
结合struts的action里面的变量去访问就ok
5.properties属性
直接用变量引用加它的属性名。如
$pInfo.nproductid
命令引用:
其实就是引用变量的方法而已:
$customer.getAddress()
$purchase.getTotal()
4.属性引用中的属性查找规则
当访问$pInfo.address时 查找的顺序是:
pInfo.getaddress();
pInfo.getAdderss();
get("address");
isAddress();
5.正式的引用书写方式:
${mudSlinger}
${customer.Address}
${purchase.getTotal()}
6.指令符号:
(1)set指令
变量的声明和赋值:
Variable reference变量引用
String literal字符串
Property reference 属性引用
Method reference 命令引用
Number literal 数字
ArrayList 数组
Map 映射
如:
#set( $monkey = $bill ) ## variable reference
#set( $monkey.Friend = "monica" ) ## string literal
#set( $monkey.Blame = $whitehouse.Leak ) ## property reference
#set( $monkey.Plan = $spindoctor.weave($web) ) ## method reference
#set( $monkey.Number = 123 ) ##number literal
#set( $monkey.Say = ["Not", $my, "fault"] ) ## ArrayList
#set( $monkey.Map = {"banana" : "good", "roast beef" : "bad"}) ## Map
又如一下遍历操作:
#set( $criteria = ["name", "address"] )
#foreach( $criterion in $criteria )
#set( $result = false )
#set( $result = $query.criteria($criterion) )
#if( $result )
Query was successful
#end
#end
条件判断:
If /ElseIf /Else
==操作只用于数字和字符串的比较
对象的==操作只会调用它的toString()的结果进行对比。
因此vtl中提供了一些逻辑的操作 如and or not等
## logical AND
#if( $foo && $bar )
<strong> This AND that</strong>
#end
## logical OR
#if( $foo || $bar )
<strong>This OR That</strong>
#end
##logical NOT
#if( !$foo )
<strong>NOT that</strong>
#end
for循环遍历:
foreach 用来创建循环. For example:
<ul>
#foreach( $product in $allProducts )
<li>$product</li>
#end
</ul>
分享到:
相关推荐
** Velocity脚本简明教程 ** Velocity是一款强大的模板引擎,它是Apache软件基金会的开源项目之一。Velocity被设计用于Web...学习和实践Velocity,你将发现它是一个强大且灵活的工具,可以为你的项目带来诸多便利。
### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...
Velocity用户指南旨在帮助页面设计者和内容提供者了解Velocity和其简单而又强大的脚本语言(Velocity Template Language (VTL))。本指南中有很多示例展示了用Velocity来讲动态内容嵌入到网站之中,但是所有的VTL ...
### Velocity框架学习教程知识点 #### 一、Velocity框架概述 - **定义**:Velocity是一款开源的Java模板引擎,它的核心作用在于将业务逻辑与展示层相分离,使得开发者能够更加专注于各自的任务。对于Web开发而言,...
### Velocity中文学习指南 #### 一、Velocity简介与应用场景 **Velocity** 是一款基于 Java 的模板引擎 (template engine),它让非技术背景的用户能够轻松地利用模板语言引用由 Java 代码定义的对象。这种能力使得...
VTL是一种简单的、基于Java的脚本语言,它允许你在模板中插入变量、控制结构(如条件语句和循环)以及调用方法。 下面是一些关键的VTL指令: 1. **$variable**: 用于插入变量的值。例如,`$name`会插入名为"name...
1. **模板语言(Template Language)**: Velocity的模板语言是一种简单的、非脚本化的语言,用于创建动态HTML或其他文档格式。它的语法简洁,易于学习,避免了在HTML中混杂大量的Java代码。 2. **上下文(Context)...
1. **简洁性**:Velocity模板语言语法简单,避免了HTML中常见的嵌入式脚本,使得HTML模板更加干净、易于阅读和维护。 2. **分离关注点**:通过将表现层(视图)与业务逻辑(模型)分离,Velocity促进了软件开发的...
这使得开发者能够创建高度定制化的输出,而无需深入学习复杂的脚本语言。 **二、Velocity的工作原理** Velocity的工作流程主要涉及三个关键组件:模板(Template)、上下文(Context)和VelocityEngine。模板是...
VTL 是一种弱类型的脚本语言,它简洁且易于理解。 **3. Velocity 和 Java 的交互** 在 Java 应用程序中,我们通常通过 `VelocityContext` 类来设置上下文变量,并使用 `VelocityEngine` 来解析和渲染模板。以下是...
Velocity模板语言(VTL)是Velocity中用于创建模板的简单脚本语言。VTL的语法直观,对编程背景的人容易上手。VTL中的引用,如$customerName,是模板中的关键元素,它们在合并过程中被实际数据替换。除了简单的引用,...
Velocity是一款基于Java的模板引擎,它的设计初衷是为了简化Web页面设计者和内容提供者的工作流程,通过其简单而强大的脚本语言——Velocity Template Language (VTL),实现了动态内容与静态模板的无缝融合。...
### Velocity学习资料详解 #### 一、Velocity简介与特性 Velocity是一种基于Java的模板引擎,它的设计目的是使得非程序员能够轻松地使用模板语言来引用Java代码定义的对象。相较于JSP和其他视图技术,Velocity在可...
4. **安全**:由于Velocity的模板语言不支持复杂的计算和控制结构,因此它比某些其他模板引擎更安全,不容易引发脚本注入问题。 ** 实际应用 ** Velocity 广泛应用于Web开发中,特别是在基于Apache的项目中,如...
Velocity脚本教程详解 Velocity是一个强大的Java模板引擎,它的主要目的是将Java代码与HTML、XML等模板分离,使得开发者可以专注于业务逻辑,而设计师则可以专注于页面的视觉呈现。Velocity通过简单的模板语言(VTL...
Velocity是一款强大的基于Java的模板引擎,它允许用户通过一种简单且易于理解的模板语言来访问由Java代码定义的对象。Velocity的设计初衷是为了使得Web开发更加模块化和高效,特别是在遵循模型-视图-控制器(MVC)...
1. **模板语言VTL**:Velocity的VTL是一种简单而强大的脚本语言,用于在HTML或其他文档类型中插入动态内容。例如,它可以用来动态渲染页面标题、用户个人信息等。 2. **变量、属性和方法**:VTL支持变量(Variables...
1. **简洁的模板语言**:Velocity语法简单,避免了在JSP中的脚本元素,提高了代码可读性。 2. **更好的分离关注点**:Velocity模板只关注布局和展示,Action类只处理业务逻辑,两者之间通过数据模型进行交互。 3. **...
4. **iBatis**:另一种ORM解决方案,iBatis强调SQL脚本的控制权,将数据库操作与业务逻辑解耦。虽然iBatis本身不直接支持Velocity,但在某些情况下,开发者可能会用Velocity来构建基于iBatis的动态页面。 【标签】...