《VTL语法参考指南》中文版[转]
转自:http://blog.csdn.net/javafound/archive/2007/05/14/1607935.aspx
- 一般方式: $mud-Slinger_9
- 静态(输出原始字面): $!mud-Slinger_9
- 正规格式: ${mud-Slinger_9}
- 一般格式: $customer.Address :调用customer对象的getAddress()命令.
- 正规格式: ${purchase.Total}
- 一般写码: $customer.getAddress()
- 正规写法: ${purchase.getTotal()}
- 传入调用参数: $page.setTitle( "My Home Page" )
- 变量引用: #set( $monkey = $bill )
- 引用原始字符串: #set( $monkey.Friend = 'monica' )
- 属性引用: #set( $monkey.Blame = $whitehouse.Leak )
- 命令引用: #set( $monkey.Plan = $spindoctor.weave($web) )
- 列表赋值引用: #set( $monkey.Numbers = [1..3] )
- 对象数组: #set( $monkey.Say = ["Not", $my, "fault"] )
- Addition: #set( $value = $foo + 1 )
- Subtraction: #set( $value = $bar - 1 )
- Multiplication: #set( $value = $foo * $bar )
- Division: #set( $value = $foo / $bar )
- Remainder: #set( $value = $foo % $bar )
- condition – 如果是boolean型,根据true或false决定,否则非null时认为是true.
- output –可以包含VTL的输出内容.
|
Symbol
|
Example
|
|
==
|
#if( $foo == 42 )
|
|
==
|
#if( $foo == "bar" )
|
|
==
|
#if( $foo == $bar )
|
|
!=
|
#if( $foo != $bar )
|
|
>
|
#if( $foo > 42 )
|
|
<
|
#if( $foo < 42 )
|
|
>=
|
#if( $foo >= 42 )
|
|
<=
|
#if( $foo <= 42 )
|
|
!
|
#if( !$foo )
|
- “== “操作可以用来比较数字,字符串,或同一个类的不同对象或不同类型的对象. 当是不同类的对象时,会调用它们的toString()命令结果来做比较看是否相等.
- 也可以如下用法,但注意else处,用{}括起.
- $ref – 引用的要迭代的对象.
- arg – 可能是:一个列表引用 (i.e. object array, collection, or map), an array list, 或其它列表.
- statement – 当velocity发现下一个有效对像在列表中,输出可以是一个合法的VTL.
- 引用: #foreach ( $item in $items )
- 数组列表: #foreach ( $item in ["Not", $my, "fault"] )
- 根据设定的界限: #foreach ( $item in [1..3] )
- arg – 目录TEMPLATE_ROOT下面的有效文件名.
- 直接写文件名: #include( "disclaimer.txt,"opinion.txt" ):如有多个文件时用逗号分开
- 使用变量引用的文件名: #include( $foo,$bar )
- arg -目录TEMPLATE_ROOT下面的有效文件名.
- 直接写文件名: #parse( "lecorbusier.vm" )
- 使用变量引用的文件名: #parse( $foo )
- vmname – 宏名字 VM (#vmname)
- $arg1 $arg2 [ ... ] – 要传给宏的参数VM..
- [ VM VTL code... ] –宏代码,有效的VTL.
- (模板库)Template library: 可以配置用户定义的库以便全站使用
- Inline: 放入到一般的模板文件中, 仅当配置参数 velocimacro.permissions.allowInline=true 时生效.
This is a multiline comment.
This is the second line
*#
《VTL语法参考指南》中文版[转]的更多相关文章
- Nmap参考指南中文版
Nmap参考指南中文版 来源: http://www.nmap.com.cn/doc/manual.shtm 译注 该Nmap参考指南中文版由Fei Yang <fyang1024@gmail. ...
- Spring Data JPA 参考指南 中文版
附下载地址:https://www.gitbook.com/book/ityouknow/spring-data-jpa-reference-documentation/details
- Java1.5泛型指南中文版(Java1.5 Generic Tutorial)
Java1.5泛型指南中文版(Java1.5 Generic Tutorial) 英文版pdf下载链接:http://java.sun.com/j2se/1.5/pdf/generics-tutori ...
- Google C++编程风格指南 - 中文版
Google C++编程风格指南 - 中文版 from http://code.google.com/p/google-styleguide/ 版本: 3.133原作者: Benjy Weinberg ...
- 来自HeroKu的HTTP API 设计指南(中文版)
原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内 ...
- Velocity魔法堂系列二:VTL语法详解
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
- APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版
苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有 ...
- ANTLR3完全参考指南读书笔记[01]
引用 Terence Parr. The Definitive ANTLR Reference, Building Domain Specific Languages(antlr3 version). ...
- Linux-PAM(Linux下的密碼認證和安全机制)系統管理員指南(中文版)
he Linux-PAM 系统管理员指南作者:Andrew G. Morgan, morgan@linux.kernel.org翻译:孙国清(Thomas Sun),thomassun@yeah.ne ...
随机推荐
- JavaScript高级程序设计22.pdf
操作节点 appendChild()用于向childNodes列表末尾添加一个节点,appendChild()返回新增的节点 var returnedNode=someNode.appendChild ...
- 使用DNSAgent拦截特定域名
开发程序时,为方便测试,需要把本来发往abc.com的数据发到本地. 最简单的方法是直接在程序中修改,把abc.com修改为需要的地址. 但这样提交代码时,容易把调试地址给提交到服务器. 或是嵌入式设 ...
- 交叉编译中的 --sysroot 等等在编译时的作用
--sysroot=dir 的作用 如果在编译时指定了-sysroot=dir 就是为编译时指定了逻辑目录.编译过程中需要引用的库,头文件,如果要到/usr/include目录下去找的情况下,则会在前 ...
- Tornado自定义分布式session框架
一.session框架处理请求执行的流程: 1.服务器端生成随机的cookie字符串 2.浏览器发送请求,服务器将cookie返回给浏览器. 3.服务器在生成一个字典.字典的key为cookie,va ...
- javascript中String 对象slice 和substring 区别
1.slice(start,stop)和substring(start,stop) 方法都是用于提取字符串中从start开始到stop-1间的字符(因为字符串索引是从0开始).其中 start必 ...
- javascript如何监听页面刷新和页面关闭事件
本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲 ...
- 在JSP页面中调用另一个JSP页面中的变量
在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...
- Java分布式优秀资源集合
这里充分尊重原作者的版本,学习了知识要感激原博主 Runnable.Callable.Executor.Future.FutureTask关系解读 http://blog.csdn.net/zhang ...
- Ajax 表单验证 实现代码
兼容: opera 9.6 + chrome 2.0 + FF 3 + IE 6 效果:一边输入一边实现验证 image 环境:ruby 1.8.6 + rails 2.1.0 + windows 核 ...
- C的printf与scanf的用法
之前没学过C语言,只学过C++,所以就来自学下C语言了,其实个人认为C与C++的区别很小,基本上就是printf与scanf这点输出和输入的区别了,如果还有什么区别的话那就是要包含的头文件是不同的.比 ...