对于嵌入到ZUML页面的脚本,有一套可以使开发人员更有效地访问组件的隐含对象.这些对象对于zscript元素包含的Java代码及事件监听器指定的属性是可用的.当然对于EL表达是也是可用的.
例如,self 是org.zkoss.zk.ui.Component 的用来代表被处理组件的一个实例.在下面例子中,在事件监听器中使用self来标识组件.
<button label="Try" onClick="alert(self.label)"/>
同样,event代表当前事件监听器正在处理事件.因此上面语句等价程序如下:
<button label="Try" onClick="alert(event.target.label)"/>
同理,如下
@Command("initProductSeries")
public void initProductSeries(@BindingParam("this") Component component) {
DefaultProductFamily defaultProductFamily = (DefaultProductFamily) component.getAttribute("productSeries");
}
@Command("onClickProductSeries")
public void onClickProductSeries(@ContextParam(TRIGGER_EVENT) Event event) {
Component target = event.getTarget();
DefaultProductFamily defaultProductFamily = (DefaultProductFamily) target.getAttribute("productSeries");
}
常用的隐含对象列表
对象名称 | 描述 |
arg | java.util.Map arg 参数会被传送到 org.zkoss.zk.ui.Executions类 的createComponents 方法.不能为null. 注意: 只有为包含页面(included page)(createComponents 方法的 第一个参数)创建组件时arg才是可用的.另一方面,包括onCreate事件在内的所有事件会在之后处理.然而,如果你想访问onCreate事件监听其中的arg,可以使用 org.zkoss.zk.ui.event.CreateEvent类的 getArg方法。 与self.desktop.execution.arg相同。 |
each | java.lang.Object
(iterated)集合的当前项目。一个迭代元素即为使用 forEach属性的元素。 |
event | org.zkoss.zk.ui.event.Event 或派生类
|
self | org.zkoss.zk.ui.Component 组件本身 |
page | org.zkoss.zk.ui.Page 页面,与self.page相同。 |
forEachStatus | org.zkoss.zk.ui.util.ForEachStatus 一个迭代器(iteration)的状态。当为迭代元素赋值时,ZK 陈 列出(exposes)迭代发生时的相关信息。 |
注释:红色表示为重点