最近在开发基于EasyJWeb框架的项目,而页面采用的html,velocity的脚本语法。刚开始接触velocity的时候,一头雾水,现在看看它语法,感觉不难。现在跟大家分享一下常用的语法。
基本语法
1、"#"用来标识Velocity 的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro 等;
如:
#if(!student.name) <span>1</span> #else <span>2<span> #end
2、"$"用来标识一个对象(或理解为变量);
如:$i、$msg、$TagUtil.options(...)等。
3、"{}"用来明确标识Velocity 变量。
如
#set ($user="GG"}
${user}name
返回csyname
4、声明:#set ($var=XXX)
左边可以是以下的内容
Variable reference 变量
String literal 字符串
Property reference 属性
Method reference 方法
Number literal #set ($i=1) 数字
ArrayList #set ($arr=["yt1","t2"]) 字符串
算术运算符
5、注释:
单行 :## XXX
多行 :#* xxx
xxxx
xxxxxxxxxxxx*#
6、变量的定义
以"$" 开头,第一个字符必须为字母,
变量可以包含的字符有以下内容:
alphabetic (a .. z, A .. Z)
numeric (0 .. 9)
hyphen ("")
underscore ("_")
7、字段的取值
$student.name
类似:student.get("name")
8、方法
object student.getName() = $student.getName()
9、$与$!的区别
当找不到username 的时候,$username 返回字符串"$username",而$!username 返回空字符串 ""
10、双引号与引号
#set ($var="heloworld")
test"$var" 返回testheloworld
test'$var' 返回test'$var'
可以通过设置stringliterals.interpolate=false 改变默认处理方式
11、逻辑运算符:== 、 && 、|| 、!
12、循环语句
#foreach($var in $arrays ) //
#foreach( $info in $infos) <span>$!info.title</span><br> #end
13、#macro(macroName)#end 脚本函数(宏)调用
定义宏Velocimacros ,相当于函数支持包含功能
#macro( d )
<tr><td></td></tr>
#end
调用
#d()
函数(宏)定义,一般放在最前面
#macro(orderPic $type) #if ($orderField.equals($type)) <img src="/images/ico/${orderType}.gif"> #end #end
具体的调用如:<font color="#FFFFFF">头衔#orderPic("title")</font>
14、包含文件#inclue("模板文件名")或#parse("模板文件名")
主要用于处理具有相同内容的页面,比如每个网站的顶部或尾部内容。
parse 与include 的区别在于,若包含的文件中有Velocity 脚本标签,将会进一步解析,
而include 将原样显示。
15、带参数的宏
#macro( tablerows $color $somelist ) #foreach( $something in $somelist ) <tr><td bgcolor=$color>$something</td></tr> #end #end
相关推荐
在这个“velocity学习资料.zip”压缩包中,可能包含了关于Velocity的基本概念、语法、最佳实践以及一些示例代码,帮助初学者或有经验的开发者更好地理解和应用Velocity。 Velocity的工作原理基于MVC(Model-View-...
在这个"velocity的学习资料"压缩包中,我们很可能会找到关于Velocity的基本概念、语法、最佳实践以及如何将其整合到Java Web项目中的相关信息。 1. **Velocity基本概念** - **模板语言**: Velocity使用简单的文本...
### Velocity学习笔记精要 **一、Velocity简介与特点** Velocity是一种基于Java的模板引擎,用于将静态数据和动态内容结合在一起,生成最终的HTML、XML或其他格式的文档。其最大的特点是性能高、易于理解和使用,...
【Velocity学习Web项目】 Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态网页内容。在J2EE环境中,Velocity经常与Struts等MVC框架结合使用,以提供更加灵活和高效的视图层...
提供的《Velocity_java开发指南》和《Java的模板引擎Velocity初体验》两本书籍是学习Velocity的好资料。它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有...
### Velocity框架学习教程知识点 #### 一、Velocity框架概述 - **定义**:Velocity是一款开源的Java模板引擎,它的核心作用在于将业务逻辑与展示层相分离,使得开发者能够更加专注于各自的任务。对于Web开发而言,...
Velocity用户指南旨在帮助页面设计者和内容提供者了解Velocity和其简单而又强大的脚本语言(Velocity Template Language (VTL))。本指南中有很多示例展示了用Velocity来讲动态内容嵌入到网站之中,但是所有的VTL ...
学习Velocity,你需要掌握以下几个关键点: 1. **基础语法**: Velocity模板语言包括变量引用(如`${variable}`)、控制结构(如`#if`, `#else`, `#foreach`等)、逻辑运算符和比较操作。 2. **上下文对象**: 模板中...
Velocity是一个强大的基于Java的模板引擎,它是Apache软件基金会的Jakarta项目的一部分。...Velocity通过使用简单的模板语言(Velocity ...无论是在Web应用还是在其他领域,Velocity都是一个值得学习和使用的工具。
9. **最佳实践**:学习如何编写清晰、可维护的Velocity模板,遵循一定的编码规范和设计模式。 10. **性能优化**:理解Velocity的缓存机制,以及如何通过配置和编程优化模板的执行效率。 通过学习Velocity,你可以...
**Velocity中文手册与学习资料详解** Velocity是一款基于Java的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,让网页设计人员专注于页面布局,而程序员则专注于编写控制逻辑。Velocity通过简单的语法使得...
### Velocity中文学习指南 #### 一、Velocity简介与应用场景 **Velocity** 是一款基于 Java 的模板引擎 (template engine),它让非技术背景的用户能够轻松地利用模板语言引用由 Java 代码定义的对象。这种能力使得...
本课程的定位是velocity的系统教学课程 , 从基础到进阶 , 所以只要对velocity感兴趣 , 想系统学习velocity的开发人员都可以学习本课程 ! 学习本课程对你有如下要求 : l 有一定的JAVA编程基础(velocity engine要求) l...
Velocity是Apache软件基金会的一个开源项目,它是一款快速、强大且易用的模板引擎,用于生成动态Web内容。在Java世界中,Velocity常被用来作为MVC框架中的视图层技术,与Struts2等框架集成,以实现更灵活的页面渲染...
在这个例子工程中,我们不会遇到Velocity的XML配置文件,这意味着所有设置和指令都将直接在Java代码或Velocity模板中完成,这简化了学习和调试过程。 **1. Velocity模板语言基础** Velocity模板语言(VTL)是...
文件中提到了一些中文资料,如《VelocityJava开发指南中文版》、《Velocity模板使用指南中文版》等,这表明Velocity社区提供了相当完善的中文资料,有助于Java开发者更快速地学习和掌握Velocity的使用方法。...
教程内容包含了解Velocity模板引擎的基础知识、学习VTL语法、设置和使用velocity.properties配置文件以及如何在Servlet和Spring MVC环境中集成Velocity。 ### Velocity模板引擎的基本使用方法 Velocity可以用来...
【标题】:“Velocity Web开发” 在Web开发领域,Velocity是一个非常重要的模板引擎,它被广泛应用于生成动态网页内容。Velocity由Apache软件...如果你需要进一步了解或学习Velocity,这个压缩包会是一个很好的起点。
- **简单易用**:VTL语法简洁,易于理解和学习,使得非程序员也能参与到页面设计中。 - **分离关注点**:模板设计师专注于布局和样式,而开发者处理业务逻辑,两者的工作可以独立进行。 - **高效性能**:Velocity在...