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 引用

在Velocity Template Language(VTL)中,有三种类型的引用:变量,属性,方法。所有的引用都被看作是字符串,如果某个引用是一个整型值,velocity会调用它的toString...
  • wanghjbuf
  • wanghjbuf
  • 2016年07月09日 14:38
  • 837

Velocity 把工具类返回到前端并调用工具类方法

1.java代码: Map interviewMap = new HashMap(); interviewMap.put("date_", new Date()); interviewM...
  • klx502
  • klx502
  • 2017年06月06日 14:07
  • 511

velocity使用--登录页面等某些特殊页面使用的模板与其他页面不同

场景:系统中的登录页面所使用的模板与其他普通页面使用的模板不同,或者是某些页面需要引用不同的模板时 1.springmvc配置视图解析器               class="org....
  • guying4875
  • guying4875
  • 2015年11月27日 17:39
  • 1970

velocity的使用

velocity是什么 Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程...
  • u014001866
  • u014001866
  • 2016年01月21日 19:22
  • 2678

velociy toolbox 用法(velocity 调用自定义java类)

http://stackoverflow.com/questions/10470596/configure-velocity-tools-with-spring-3-x
  • u013603157
  • u013603157
  • 2014年10月20日 18:18
  • 1321

velocity中加载模板文件的方式

velocity有多中种方式供我们去加载我们自定义的模板文件,下面详细的介绍使用的方法。 1.1.1. 加载classpath目录下的模板文件 使用classpath方式加载,是我们经常用到的一种...
  • qq_30739519
  • qq_30739519
  • 2016年04月12日 21:46
  • 3479

Velocity判断空的方法

Velocity中没有null,那么怎么判断null呢 1、在velocity中,非null被认为是真的,所以,可以用 #if($!变量名) // 变量不为空的代码 #else // 变...
  • u012814506
  • u012814506
  • 2015年08月04日 09:51
  • 1388

【java工具类】对velocity的封装

下面是对velocity的封装,参考了这篇文章: http://kodak-zhou.iteye.com/blog/970682 【VelocityHelper】 package E...
  • cdnight
  • cdnight
  • 2013年05月07日 21:21
  • 1455

Velocity语法使用总结

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocit...
  • GarfieldEr007
  • GarfieldEr007
  • 2017年03月18日 23:38
  • 447

模板工具(二)——VelocityTools

应该算是Velocity的扩展,为了Velocity更好用。包括GenericTools  VelocityView  VelocityStruts三个子项目,其中VelocityStruts是为了与...
  • dananhai381
  • dananhai381
  • 2012年09月21日 17:26
  • 8058
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Velocity学习笔记7——引用的不同形式
举报原因:
原因补充:

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