当前位置:首页 > 开发 > 开源软件 > 正文

Velocity的特殊字符

发表于: 2014-07-05   作者:aoyouzi   来源:转载   浏览次数:
摘要: Getting literal Velocity 使用特殊字符$和#来帮助它工作,所以如果要在template 里使用这些特殊字符 要格外小心。本节将讨论$字符。   货币字符 在VTL 中使用$2.5 这样的货币标识是没有问题得的,VTL 不会将它错认为是一个 reference,因为VTL 中的reference 总是以一个大写或者小写的字母开始。   Es

Getting literal

Velocity 使用特殊字符$和#来帮助它工作,所以如果要在template 里使用这些特殊字符

要格外小心。本节将讨论$字符。

 

货币字符

在VTL 中使用$2.5 这样的货币标识是没有问题得的,VTL 不会将它错认为是一个

reference,因为VTL 中的reference 总是以一个大写或者小写的字母开始。

 

Escaping valid VTL reference

VTL 中使用“\”作为逃逸符。

例如:

#set( $email = “foo” )

$email

\$email

\\$email

\\\$email

将render 为:

foo

$email

\foo

\\$email

如果email 变量没有被定义则

$email

\$email

\\$email

\\\$email

将被render 为:

$email

\$email

\\$email

\\\$email

注意:VTL 中未被定义的变量将被认为是一个字符串,所以以下例子:

#set( $foo = “gibbous” )

$moon = $foo

的输出结果是:

$moon = gibbous

 

 

Case substitution

现在你已经对reference 比较熟悉了,你可以将他们高效的应用于你的template 了。

Velocity 利用了很多java 规范以方便了设计人员的使用。例如:

$foo

$foo.getBar()

## is the same as

$foo.Bar

$data.getUser(“jon”)

## is the same as

$data.User(“jon”)

$data.getRequest().getServerName()

# is the same as

$data.Request.ServerName

## is the same as

${data.Request.ServerName}

但是,注意VTL 中不会将reference 解释为对象的实例变量。例如:$foo.Name 将被解

释为Foo 对象的getName()方法,而不是Foo 对象的Name 实例变量。

 

 

 

Directives

Reference 允许设计者使用动态的内容,而directive 使得你可以应用java 代码来控制你

的显示逻辑,从而达到你所期望的显示效果。

 

#set

#set directive 被用于设置一个reference 的值。例如:

#set ( $primate = “monkey” )

#set ( $customer.Behavior = $primate )

赋值左侧的(LHS)必须是一个变量或者属性reference。右侧(RHS)可以是以下

类型中一种:

Velocity的特殊字符

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
XML中共有5个特殊的字符,分别是:&<>“’。如果配置文件中的注入值包括这些特殊字符,就需要
保留字符 ISO 8859-1字符 数学字符 希腊字符 其他字符 ref 1. http://www.w3schools.com/tags/ref_en
HTML字符实体(Character Entities) 有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的
XML中共有5个特殊的字符,分别是:&<>“’。如果配置文件中的注入值包括这些特殊字符,就需要
今天在网上搜索html特殊字符,发现并没有一篇博文或者论坛拥有完整的html特殊字符集。偶然发现了一
\documentclass{article} \usepackage{ctex} \begin{document} \LaTeX{} 中有一些字符属于保留字(re
这个是一个发生在自己身边的故事,由于Cookie值中设置了一个特殊字符,导致部分手机由于兼容性问题
在分析HTML字节流或者源代码的时候,需要对HTML特殊字符编码以及ASCII的知识有所了解,才能避免跌入
POSIX.1定义了11个在输入时作特殊处理的字符。实现定义了另外一些特殊字符。表18-6摘要列出了这些特
特殊字符: 小于号 < 字符实体采用<表示 大于号 > 字符实体采用>表示 &符号 字符实体采用
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号