Tapestry开发者指南(6)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 14:53:25
第二章 JavaBeans 和属性
2.3 属性的路径
JavaBeans 框架为JavaBean 对象提供基本的命名属性。Tapestry对此从简单的属性到属性的路径进行拓展。
一个属性的路径是一系列以周期分开的属性名称。当读取一个属性的路径, 每个属性是在系列中被读取。
在前面“介绍”章节的例子中, 参照了属性的路径visit.userName。这个路径意味着, 启动对象(一个Tapestry页面)的visit属性应该被访问, 然后visit对象的用户名称应该被访问。 这大致与Java代码getVisit().getUserName()相同 (除了访问属性不是类型安全的) 。
在某些情况下,属性的路径被用来改变值, 而不是读取它。当这种情况发生时,除了只有最新属性被写入,其它所有属性被读取。换句话说,更新visit.userName 与JavaCode中getVisit().setUserName(value) 是相似的。
属性的路径可能是任一长度的; 但是, 他们只是像对待NullPointerExceptions一样谨慎对待其他JavaCode 。必须注意到在属性的路径中没有属性的情况, 除了最后一个, 回归空值。这经常使用综合属性来完成。
2.4 对象图表导航库
在简单的属性的路径之外,是强有力的对象图表导航库(OGNL)的表示。OGNL 表示是在Java 表示以后形成的; 他们能调用方法, 进行比较, 做算术... 甚而创建集合。
OGNL 是一个与Tapestry分开的框架; 关于OGNL进一步细节,可参照http://www.ognl.org .