velocity语法小结
java 2008-10-29 12:20 阅读160 评论1 字号: 大大 中中 小小
之前做了个项目,断断续续写了好多的模板。关于velocity网上找了些资料,加上总结,整理后大致常用的为下面这些内容
1.变量定义
因为是一种弱类型语言,所以不用定义变量的类型,编译器根据赋值的类型自动进行判断,定义的关键字为set,set前要加#,变量名前必须加$,变量名和值的组合要放在小括号中,不必用分号结束语句。例如:
#set($maxValue=5)
#set($name="Bob")
也可以定义数组,形式如下:
#set($arrayName=["element1","element2",...])
例如:#set($members=["mary","rose","Mr Black"])
2.注释
对单行注释,形式如下:
#set($name="mike") ##这是一个注释:定义名字为mike
对多行注释,形式如下:
#set($name="mike")
#*
这是一个多行注释:定义名字为mike,
如果定义为其他的,不符合用户习惯!
*#
3.流程控制
支持的流程控制有:#if...#else...#end(逻辑判断语句)和#foreach(... in ...)...#end(循环语句),可以嵌套使用。例如:if的例子
#set($name="mary")
#set($sex="female")
#set($age=20)
#set($coutry="America")
#if($name=="mary")
hello mary!
#end
#if($sex=="male")
You are a boy!
#else
You are a girl!
#end
#if($age<12)
You are too young!
#elseif($age>12 && $age<18)
You are not an adult!
#else
You are an adult!
#end
#if($country!="China")
#if($country=="Amemica")
You are from America!
#end
#else
#if($city=="Beijing")
You are from Beijing!
#else
You are not from Beijing!
#end
#end
例如:foreach的例子
#set($members=["mary","rose","mike"])
#foreach($member in $members)
$member
#end
另外,foreach循环不仅可以显示数组内容,也可以显示java的Vector、List、Iterator等对象的内容,
4.#foreach() #end用于循环输出
#foreach( $key in $allProducts.keySet() )
<li>Key: $key -> Value: $allProducts.get($key)</li>
#end
5. #include,用于包括一些资源文件,当然include是不会去解析资源文件
#include( "one.txt" )
#parse,用于解析并且包括相应的资源文件
#parse( "me.vm" ),和主文件共享相应的Context
#stop,用于停止执行解析,并返回,主要用于调试功能。
6.velocity的#macro功能挺强大.
#macro,类似于宏定义,用于自定义相应的标记。
如下定义了一段宏,用于输出表格中的列表
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
<tr><td bgcolor=$color>$something</td></tr>
#end
#end
在模版中,只需要使用#tablerows($color $somelist)就可以取代里面的代码了:
#set( $greatlakes = ["Superior","Michigan","Huron","Erie","Ontario"] )
#set( $color = "blue" )
<table>
#tablerows( $color $greatlakes )
</table>
#macro 支持内嵌语法,所以对于模版的定义,就变得更加的灵活而简单了。
关于写模板,这次的项目把传说中一局双赢的MVC模式运用了一把。已经不记得拿到变量列表的时候是啥心情了,反正有那张表终于结束了我猜变量名的时期!!值得高兴。实际操作和我理解的最佳配合方案貌似有差距,不过也确实解决了我不能容忍范围内80%的问题。最近freemarker貌似被很多人追捧。有时间去喵喵!http://swingchen.bokee.com/4137438.html。
分享到:
相关推荐
velocity语法中文版,还有详细例子解析。
** Velocity语法基础 ** 1. 变量引用:Velocity使用`$`符号来引用变量,如`$name`。如果变量未定义,Velocity会自动忽略,避免抛出异常。 2. 指令控制:Velocity提供了多种指令,如`#set`用于赋值,`#if`用于条件...
### Velocity语法精析 Velocity是一种基于Java的模板引擎,它允许开发者通过简单的语法来动态生成HTML、XML或任何文本格式的文档。其语法简洁且功能强大,被广泛应用于Web开发中,尤其在Java企业级应用中表现突出。...
Velocity 语法大全 Velocity 语法大全是 Apache Velocity 项目的一部分,是一个基于 Java 的模板引擎。Velocity 语法大全提供了一些基本语法和实践指南,帮助开发者快速掌握 Velocity 语法。 基本语法 1. `#` ...
很好的介绍了velocity语法的应用,给大家编程带来方便。
【Velocity语法以及整合struts2总结】 Velocity是一个开源的Java模板引擎,它是Apache软件基金会的Jakarta项目的一部分。Velocity将HTML代码与业务逻辑分离,使得开发者可以专注于内容和设计,而不用关心数据如何...
二是Velocity模板引擎的语法及使用方法。然而,基于题目要求,本回答将着重于解析Velocity的相关知识点,并简要提及Tomcat的部分配置内容作为背景。 ### Tomcat部署项目配置背景 在文档中提到了如何通过修改`...
JAVA 中 Velocity 语法基础 Velocity 是一个基于 Java 的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由 Java 代码定义的对象。Velocity 应用于 web 开发时,界面...
Velocity模板技术语法详细介绍,包括很详细的示例代码 1.变量………………………………………………………………………………1 2.循环………………………………………………………………………………2 3.条件语句...
# Velocity语法与Velocity包详解 Velocity是一个强大的Java模板引擎,它的设计目标是让开发者能够将显示逻辑从应用程序的业务逻辑中分离出来。Velocity通过提供一个简单的模板语言,使得非程序员如网页设计师也能...
Velocity 语法详解 Velocity是一种基于Java的模板引擎,用于生成Web页面的模板语言。它具有灵活的语法结构和强大的功能,广泛应用于Web开发中。本文将详细介绍Velocity的语法规则和使用方法。 变量 在Velocity中...
Velocity的基本语法:1.变量 2.循环 3.条件语句 4.语句的嵌套 5.注释 .....
总的来说,Velocity语法简洁且强大,允许Web开发者灵活地将动态数据整合到静态模板中,提高了开发效率,同时保持了良好的代码组织结构。通过熟练掌握VTL,开发者能够创建出高效、可维护的Web应用程序。
### Velocity 语法笔记 #### 一、Velocity 概述与基本用法 Velocity 是一个基于 Java 的模板引擎,主要用于 Web 应用程序中生成动态页面。它提供了丰富的语法支持,使得开发者可以更轻松地处理数据并将其转换为...
再者,从语法格式上来讲,Velocity 和 Freemarker 的语法格式不同,Velocity 的语法更加简洁,而 Freemarker 的语法更加灵活。不同的开发者可能会有不同的倾向性,但是Freemarker 的语法更加强大。 最后,从性能上...