Velocity学习笔记7——引用的不同形式

翻译 2006年06月02日 17:12:00
正式的引用符号:
在以前的例子中使用的都是引用的简写形式,引用还有一种正式的形式,如下面的例子所示:
${mudSlinger}
${customer.Address}
${purchase.getTotal()}
几乎在所有的情况下都可以使用引用的简写形式,但是有些时候还是必须使用正式形式。
假设你创建了一个句子,其中包含引用$vice作为一个名词基本词根,目的是允许用户选择这个基本词来创建下面的语句中的一个”Jack is a pyromaniac”或者”Jacd is a kleptomaniac”。这里红色的地方是$vice引用将要取代的部分。在这里使用简写形式是不恰当的。如果写成简写形式,就是下面的样子:
Jack is a $vicemaniac.
这样就很不明确, Velocity引擎会认为$vicemaniac是你要使用的引用,而不是$vice。使用正式形式就会避免这种情况:
Jack is a ${vice}maniac.
Now Velocity knows that $vice, not $vicemaniac, is the reference. Formal notation is often useful when references are directly adjacent to text in a template.
现在Velocity引擎就知道你使用的引用是$vice,而不是$vicemaniac。正式形式通常用在模板中引用后面直接跟文本的情况下。
 
安静的引用形式(Quiet Reference Notation
当Velocity引擎遇到一个没有定义的引用的时候,它通常的做法是直接将这个引用输出。例如下面的句子出现在一个VTL模板中:
<input type="text" name="email" value="$email"/>
如果当这段代码初始化的时候,变量$email还没有赋值,那么Velocity引擎会输出:
<input type="text" name="email" value="$email"/>
也就是说对$email没有任何处理,直接原样输出。
使用安静的引用形式,可以避免Velocity引擎的这种通常的处理方法。安静的引用形式是:$!eamil。这样上面的例子就变成了:
<input type="text" name="email" value="$!email"/>
现在,当这段代码初始化的时候,如果$email还是没有值,那么输出时就会用一个空字符串来代替$email,这时上面的例子的输出就是:
input type="text" name="email" value=""/>
正式形式和安静形式可以一起使用,如下:
<input type="text" name="email" value="$!{email}"/>

相关文章推荐

Velocity学习笔记6——VTL中的引用

引用(Reference)在VTL中有3种类型的引用:变量、属性和方法。作为一个使用VTL的设计者,必须和同伴就引用的命名达成一致的意见,才能够在模板种正确的使用它。所有来自于引用的东西都会被作为字符...
  • afrag
  • afrag
  • 2006-06-01 13:32
  • 2466

OpenGL学习笔记 (7) —— 三种不同的纹理滤波方式,光照和键盘控制

三种纹理滤波方式: (1) Nearest 滤波贴图 Nearest Filtered Texture (2) 线性滤波纹理 Linear Filtered Texture (3) MipMap...

Swift学习笔记——闭包的几种形式

闭包本节主要叙述的是闭包的几种形式,以及闭包的实际作用,闭包是一种自包含的函数代码块, 可以在代码中被传递和使用,闭包类似于C++中的Lambda 表达式,那么我们先来看看C++中Lambda 是怎么...

Shader编程学习笔记(四)—— Unity Shader的组织形式(ShaderLab)

Unity Shader的形态   Unity官方手册上讲Unity Shader有三种不同的编写方案,这三种编写方案分别是surface shaders、vertex and fragment s...

Shader编程学习笔记(四)—— Unity Shader的组织形式(ShaderLab)

Unity Shader的组织形式   Unity Shader的形态   Unity官方手册上讲Unity Shader有三种不同的编写方案,这三种编写方案分别是surface s...

MyBatis association的两种形式——MyBatis学习笔记之四

一、嵌套的resultMap       这种方法本质上就是上篇博文介绍的方法,只是把教师实体映射从association元素中提取出来,用一个resultMap元素表示。然后association...

学习笔记——bool值用printf的形式输出

玩acm的都清楚,cin/cout在大家眼里跟没有一样,

【数据结构学习笔记】——用链表形式的栈完成汉诺塔

要求使用链表形式的栈完成汉诺塔(8个碟子)移动任务。并且标出每一步移动的动作。算法设计汉诺塔问题利用递归的思想,仅有1个碟子时只需要将它移动一次。若有n个碟子时可以先将n-1个碟子移动到辅助塔上,再将...

TensorFlow学习笔记(7)--实现卷积神经网络(同(5),不同的程序风格)

实现卷积神经网络,MNIST数据集
  • lwplwf
  • lwplwf
  • 2017-03-15 20:27
  • 17666

velocity学习笔记

  • 2011-05-04 15:38
  • 50KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)