`
xjtusaber
  • 浏览: 54815 次
  • 性别: Icon_minigender_1
  • 来自: 龙黄
社区版块
存档分类
最新评论

Velocity脚本摘要

    博客分类:
  • java
阅读更多

Velocity判断空值方法:
依据:
$username与$!username的区别,当找不到username的时候,$username返回字符串"$username",而$!username返回空字符串""
所以:#set($!username=='') 可以判断字符串是否为空

 

 以下为Velocity脚本摘要

1、声明:#set ($var=XXX)
左边可以是以下的内容
Variable reference
String literal
Property reference
Method reference
Number literal #set ($i=1)
ArrayList #set ($arr=["yt1","t2"])
技持算术运算符

2、注释:
单行## XXX
多行#* xxx
xxxx
xxxxxxxxxxxx*#

References 引用的类型
3、变量 Variables
以 "$" 开头,第一个字符必须为字母。character followed by a VTL Identifier. (a .. z
or A .. Z).
变量可以包含的字符有以下内容:
alphabetic (a .. z, A .. Z)
numeric (0 .. 9)
hyphen ("-")
underscore ("_")

4、Properties
$Identifier.Identifier
$user.name
hashtable user中的的name值.类似:user.get("name")

5、Methods
object user.getName() = $user.getName()

6、Formal Reference Notation
用{}把变量名跟字符串分开


#set ($user="csy"}
${user}name
返回csyname

$username
$!username
$与$!的区别
当找不到username的时候,$username返回字符串"$username",而$!username返回空字符串""

7、双引号 与 引号
#set ($var="helo")
test"$var" 返回testhello
test'$var' 返回test'$var'
可以通过设置 stringliterals.interpolate=false改变默认处理方式

8、条件语句
#if( $foo )
<strong>Velocity!</strong>
#end
#if($foo)
#elseif()
#else
#end
当$foo为null或为Boolean对象的false值执行.

9、逻辑运算符:== && || !

10、循环语句#foreach($var in $arrays ) // 集合包含下面三种Vector, a Hashtable or an Array
#end
#foreach( $product in $allProducts )
<li>$product</li>
#end

#foreach( $key in $allProducts.keySet() )
<li>Key: $key -> Value: $allProducts.get($key)</li>
#end

#foreach( $customer in $customerList )
<tr><td>$velocityCount</td><td>$customer.Name</td></tr>
#end
11、velocityCount变量在配置文件中定义
# Default name of the loop counter
# variable reference.
directive.foreach.counter.name = velocityCount
# Default starting value of the loop
# counter variable reference.
directive.foreach.counter.initial.value = 1

12、包含文件
#include( "one.gif","two.txt","three.htm" )

13、Parse导入脚本
#parse("me.vm" )

14、#stop 停止执行并返回

15、定义宏Velocimacros ,相当于函数 支持包含功能
#macro( d )
<tr><td></td></tr>
#end
调用
#d()

16、带参数的宏
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end

17、Range Operator
#foreach( $foo in [1..5] )

 

 

 
分享到:
评论
2 楼 xinshaoye 2008-03-18  
总结得不错~~  谢谢!!
1 楼 sg552 2008-01-25  
判断空:

#if($var) 就可以了。

相关推荐

    Velocity脚本简明教程

    ** Velocity脚本简明教程 ** Velocity是一款强大的模板引擎,它是Apache软件基金会的开源项目之一。Velocity被设计用于Web应用中的动态内容生成,但也可以应用于任何需要将数据转化为可读文本的场景,如电子邮件、...

    Velocity的脚本语言

    ### Velocity脚本语言详解 #### 一、简介 Velocity是一种基于Java平台的模板引擎,它允许用户使用简单的模板语言(Velocity Template Language, VTL)来生成各种格式的文档,如HTML、XML、PDF等。Velocity的主要...

    EasyJWeb-Velocity脚本简明教程

    1. `#`符号:Velocity使用`#`作为脚本语句的标识,例如`#set`、`#if`、`#else`、`#end`等控制结构,以及`#foreach`、`#include`、`#parse`、`#macro`等指令。 2. `$`符号:`$`用于表示变量,例如`$i`、`$msg`等。...

    velocity知识要点

    #### Velocity脚本摘要 下面是对 Velocity 脚本的一些关键特性进行的详细介绍: 1. **声明** - **格式**: `#set($var=XXX)`,其中 `$var` 表示变量名,`XXX` 是赋给该变量的值。 - **示例**: ```velocity #set...

    Mybatis velocity脚本的使用教程详解(推荐)

    在MyBatis中,除了默认的XML脚本语言,还支持 Velocity 和 Freemarker 两种模板语言来编写Mapper文件中的动态SQL。本教程主要讲解如何使用MyBatis与Velocity脚本进行集成。 **1. 什么是Velocity脚本?** Velocity...

    Velocity脚本教程

    Velocity脚本教程详解 Velocity是一个强大的Java模板引擎,它的主要目的是将Java代码与HTML、XML等模板分离,使得开发者可以专注于业务逻辑,而设计师则可以专注于页面的视觉呈现。Velocity通过简单的模板语言(VTL...

    nodejs中使用velocity

    NULL 博文链接:https://xml.iteye.com/blog/1964213

    Corr velocity - MetaTrader 5脚本.zip

    "Corr velocity - MetaTrader 5脚本.zip"是一个包含MetaTrader 5(MT5)脚本的压缩包,它似乎专注于提供一种修正后的“速度”或动量计算方法,以产生更平滑的价格动态指示。 "Corr_velocity.mq5"是压缩包内的主要...

    velocity所需的jar包

    如果是传统的Java项目,通常将它们放入`lib`目录下,并在构建脚本(如`build.xml`或`pom.xml`)中配置依赖。如果是使用现代的构建工具,如Maven或Gradle,可以在相应的配置文件中声明依赖,系统会自动管理这些jar包...

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。 Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护...

    QQE of Velocity - 多时段 - MetaTrader 5脚本.zip

    QQE of Velocity - 多时段 MetaTrader 5脚本是一个技术分析工具,主要应用于金融市场交易,尤其是外汇市场。MetaTrader 5(MT5)是一个流行的交易平台,由MetaQuotes Software Corp开发,提供图表分析、交易执行以及...

    unity脚本_自动计算对象velocity_无需添加刚体_无需RigitBody_可泛用于GameObject

    非常有用的脚本,拷贝到项目中即可使用。 在任意GameObject下的脚本中直接使用: public VelocityEstimator velocityEstimator;...无需添加刚体即可获得对象Velocity,对于砍切动作等都是很方便的脚本。

    velocity的jar包

    **Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网站内容。Velocity被设计成一个轻量级的、快速的、非侵入式的模板语言,使得开发者能够将HTML页面的展示...

    velocity插件

    【 Velocity 插件详解】 Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的...

    velocity为空判断

    这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....

    Velocity

    1. **简洁性**:Velocity模板语言语法简单,避免了HTML中常见的嵌入式脚本,使得HTML模板更加干净、易于阅读和维护。 2. **分离关注点**:通过将表现层(视图)与业务逻辑(模型)分离,Velocity促进了软件开发的...

    velocity官方工具包

    1. **模板语言(Template Language)**: Velocity的模板语言是一种简单的、非脚本化的语言,用于创建动态HTML或其他文档格式。它的语法简洁,易于学习,避免了在HTML中混杂大量的Java代码。 2. **上下文(Context)...

    Velocity 和 FreeMarker区别

    ### Velocity与FreeMarker的区别 在IT领域特别是Java开发中,模板引擎是不可或缺的一部分,它们用于将数据模型转换为HTML、PDF、Word文档等格式。在众多模板引擎中,Velocity和FreeMarker是两种非常受欢迎的选择。...

    Velocity基本标记说明.doc

    2. **#**:这个符号用于标识Velocity的脚本语句,包括条件判断(`#if`、`#else`、`#end`)、循环(`#foreach`)、包含(`#include`、`#parse`)、宏定义(`#macro`)等。例如,`#if($info.imgs)`会检查$info.imgs...

    模板:velocity和freemarker的比较

    Velocity和Freemarker模板技术比较 模板技术在现代软件开发中扮演着重要角色,而在目前最流行的两种模板技术中, Velocity 和 Freemarker 独占鳌头。在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity ...

Global site tag (gtag.js) - Google Analytics