首页 > 其他分享 >Velocity----学习笔记

Velocity----学习笔记

时间:2023-05-05 21:32:54浏览次数:42  
标签:username set end .. 笔记 ---- foreach Velocity user


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] )

标签:username,set,end,..,笔记,----,foreach,Velocity,user
From: https://blog.51cto.com/iwtxokhtd/6247863

相关文章

  • 高并发----解决方案
     基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器  1、HTML静态化通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型......
  • 缓存----Ibatis /Hibernate
    iBatis缓存的使用方法及解释:以iBatis2.3为例,做以下配置即可实现对某些查询进行缓存1、<settingslazyLoadingEnabled="false" cacheModelsEnabled="true" enhancementEnabled="true"/>   注释:       lazyLoadingEnabled延迟加载数据;cacheModelsEna......
  • DOM操作----总结
     查找方式一:varobj=document.getElementById(id);varobj=document.getElementById('d1');obj.innerHTML='hellokitty';---innerHTML属性:可以读或者写一个节点的html内容。varobj2=document.getElementById('username');obj2.value='abc�......
  • 连接池/线程池
    线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有......
  • count(列名)、count(1)和 count(*)有什么区别?
    在MySQL中,这几个都是统计操作,很多人在使用的时候,都使用的是count(1),这有没有问题?使用正确?达到了统计效果?我们从效果和效率两方面来分析下执行效果count(*)包括了所有的列,在统计时不会忽略列值为null的数据count(1)用1表示代码行,在统计时不会忽略列值为null的数据co......
  • delphi 互斥量,只允许运行一个实例
    效果图: 代码超简单的:procedureTFrmLogin.FormCreate(Sender:TObject);varFmutex:THandle;begin//创建一个命名的互斥量,确保同一时间只有一个实例在运行//第三个参数是自定义的,随便取的,但一定要是唯一的标识FMutex:=CreateMutex(nil,True,'MyDelphiAppMutex')......
  • 4-2 UserDetails、UserDetailsService和jdbcAuthentication
          ......
  • 求最大值(函数模板)
    一、问题描述:两个类如下设计:类Time有三个数据成员,hh,mm,ss,分别代表时,分和秒,并有若干构造函数和一个重载-(减号)的成员函数。类Date有三个数据成员,year,month,day分别代表年月日,并有若干构造函数和一个重载>(<)(大于号或者小于号)的成员函数。要求设计一个函数模板template<classT>Tma......
  • cryptohack wp day(3)
    第二节模运算----第一题(GCD)在做这道题前,了解下欧几里得算法:欧几里得算法,也叫辗转相除法,用于求解两个非负整数a和b的最大公约数(GreatestCommonDivisor,GCD),即能够同时整除它们的最大正整数。算法的基本思想是,通过不断求解a和b的余数的最大公约数,最终可以得到a和b的最大公约......
  • 分布式系统复习
    这啥玩意都没讲的课要考了。。。1.云计算与大数据1.1云计算的3个服务模型IaaS,基础设施即服务PaaS,平台即服务SaaS,软件即服务云计算的3中服务模型之间的关系:IaaS提供虚拟化的硬件资源,支撑PaaS对平台的虚拟化,而PaaS又支撑了SaaS对软件的虚拟化。1.2DIKW体系Data(数据)、Info......