velocity语言之5

来源:互联网 发布:兄弟连细说php视频教程 编辑:程序博客网 时间:2024/05/17 22:58

11.Case Substitution(可选的格式)

至此,你对velocity的refenerce己比较熟悉了你可以在你的模板中开始应用这些功能但你还可以知道的是Velocity references从java语法中汲取了一些优点以便模板设计者更容易使用VTL.比如

$foo

$foo.getBar()

## 等同于

$foo.Bar

$data.setUser("jon")

##等同于

#set( $data.User = "jon" )

$data.getRequest().getServerName()

##等同于

$data.Request.ServerName

## is the same as

${data.Request.ServerName}

这里示例了你可选的一些引用方式VTL汲取了java语法和java bean的一些简洁语法以解析java代码中Context中的对象和这些对象的命令及属性---这样,一个java对象的所有功能都可以展示到视图中了

Velocity也借见了java Bean的规范(Bean specifications defined by Sun Microsystems)是大小写敏感的但Velocity会尽可能的帮你修正错误当命令 getFoo() 通过指令 $bar.foo在模板中引用时,Velocity的搜索规则我们在前面己讲了,你还记得是什么吗?

注意:模板中引用的必须是通过java Bean中的getter/setter 实现的,而直接的java对象的数据域是不能直接引用的,如$foo.Name 会解析到 class Foo's getName() 的实例方法,但不会解析到Foos类的 public Name 这个实例变量

原创粉丝点击