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] )
分享到:
相关推荐
#### Velocity脚本摘要 下面是对 Velocity 脚本的一些关键特性进行的详细介绍: 1. **声明** - **格式**: `#set($var=XXX)`,其中 `$var` 表示变量名,`XXX` 是赋给该变量的值。 - **示例**: ```velocity #set...
Java学习摘要及当今发展趋势概述 Java作为一种广泛应用的高级编程语言,具有诸多独特的特性和优势,使其成为软件开发领域的主流选择。对于初学者来说,理解Java的核心概念和掌握其语法是至关重要的。 首先,Java...
### LAMMPS手册:分子动力学模拟 #### 一、引言 ...以上内容只是LAMMPS手册的部分摘要,详细的手册内容还包括更多高级主题和技术细节,旨在帮助用户充分利用LAMMPS的强大功能来解决复杂的研究问题。
在实际开发中,这个系统可能还会涉及模板引擎(如FreeMarker或Velocity),用于分离视图和逻辑;使用MVC框架(如Spring MVC),以提高开发效率和代码可维护性;以及使用数据库连接池(如Apache DBCP或C3P0)来优化...
5. 模板引擎:为了提高代码复用性和可维护性,新闻发布系统可能会使用模板引擎,如FreeMarker或Velocity,将页面布局与业务逻辑分离。 6. 国际化与本地化:JSP支持国际化(i18n)和本地化(l10n),允许系统根据...
JSP是Java平台上的服务器端脚本语言,用于创建动态网页。它结合了HTML、CSS、JavaScript和Java代码,使得开发者能够方便地在网页中嵌入动态内容。在构建RSS阅读器模块时,JSP将负责接收用户的请求,处理数据,并生成...