NVelocity语法.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NVelocity语法

默认情况下,NVelocity解析是不分大小写的,当然可以通过设置runtime.strict.math=true,采用严格解析模式。 ##指定用户名字 欢迎你: $customer.Name! table ###输出用户喜好的MuD #foreach( $mud in $mudsOnSpecial ) #if ( $customer.hasPurchased($mud) ) tr td $flogger.getPromo( $mud ) /td /tr #end #end /table set 指示符使用一个表达式(expression) (包含在一对括号里) –将一个值 value (这里是Velocity)付给变量a,(变量名在左边,值在右边,用=组合起来). 以$开头的表示“引用”意思是取得一些东东.可引用变量,属性,方法 属性可以引用到对象的命令. Velocity会使用合适的策略选择引用到的命令. 它会根据协定的命令命令格式查找. 无论属性引用的的名字是否大小写,Velocity都有固定的查找规则.如在$customer.address引用时,查找顺序是: getaddress() getAddress() get(address) isAddress() 对于VTL中大写的属性名Address引用,将是: getAddress() getaddress() get(Address) isAddress() 正规引用格式 ${mudSlinger} 1.Jack is a $vicemaniac. 2.Jack is a ${vice}maniac. 这样,Velocity就知你要的是 $vice, 而不是 $vicemaniac变量,正规引用格式一般用于在模板中直接调整字符串内容. Quiet Reference Notation(静态引用输出) Velocity遇到一个不能处理的引用时,一般他会直接输出这个引用$email的写法,页面上会看到的是$email,如下例,我们可以在$后面加上一个!号,那么就会输出空白:. input type=text name=email value=$email/ input type=text name=email value=$!email/ 正式的写法是:. input type=text name=email value=$!{email}/ Getting literal( 语义问题) velocity使用$,#字符来标志它的声明,但有时,HTML中因为某种其它意图,也会写出这样的字符 1.Currency(货币标志) 如美元 $2.50!这样的写法出现到模板中, VTL处理时是不会出错,会正确的输出$2.50!这个你想要的结果。为什么呢?一个合法的VTL标示符是以一个字母开头的 如下示,如果没有#set( $email = foo )这一行且java代码中Context对象中没有放放email对象,将直接输出$email. #set( $email = foo ) $email 如果email己定义了 (比如它的值是 foo),而这里你却想输出 $email. 这样一个字符串,就需要使用转义字符”\”. ## The following line defines $email in this template: #set( $email = foo ) $email \$email \\$email \\\$email 上面的模板在web页面上的输出将是: foo $email \foo \$email 但如果email并没有定义,我们这样写:. $email \$email \\$email \\\$email 输出就原封不动了: $email \$email \\$email \\\$email 注意:当己定义变量和未定义变量一起输出时,会输出字面意思,如下便,$moon是未定义的: #set( $foo = gibbous ) $moon = $foo 输出到web页面中将是 $moon = gibbou Case Substitution(可选的格式) $foo.getBar() ## 等同于 $foo.Bar $data.setUser(jon) ##等同于 #set( $data.User = jon ) $data.getRequest().getServerName() ##等同于 $data.Request.ServerName ## is the same as ${data.Request.

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档