第六章ZK界面标记语言54页
每个XML元素描述了要创建的组件
XML属性描述了被创建组件的初始值
不同的组件集通过XML命名空间来区分
ZK属性:
apply属性:
apply=”类名”
apply=”类1,类2…”
apply=”${类、类的集合}”
apply=”${实例、实例的集合}”
指定了一个类,类的集合用于初始化组件。被指定的类必须实现org.zkoss.zk.util.Composer接口,由于在组件及其子组件初始化后会调用doAfterCompose方法,所以可以在doAfterCompose方法内进行初始化<window apply=”MyComposer”/>
Use属性:
Use=”${类、类名}”
<window user=”MyWindow”/>
指定一个类来创建一个组件(代替默认的)
If属性:
If=”${EL表达式}”
指定为相关元素赋值的条件
Unless属性:
Unless=”${EL表达式}”
指定不为相关元素赋值的条件
forEach属性:
forEach=”${EL表达式} ,具体的值”
两种格式:一种为用el表达式指定一个集合,另一种为指定一个列表;如果没指定或为空,此属性被忽略
forEachBegin属性:
forEachBegin=””
被用于forEach属性,指定迭代开始的下标
forEachEnd属性:
forEachEnd=””
被用于forEach属性,指定迭代结束的下标
Fulfill属性:
fulfill=”event-expr”
fulfill=”event-expr=uri-expr”
fulfill=”=uri-expr”
指定何时创建子组件。默认(即没有指定fulfill)情况下,子组件会在父组件之后被创建,当ZUML页面被加载时。如果想推迟子组件的创建,可通过fulfill属性指定条件,条件有事件名、目标组件标识、路径。
<div fulfill=”=/my/super.zul”>
<combobox/>
</div>
先创建combobox,然后创建定义在/my/super.zul内的组件
<button id=”b” label=”open”/>
<div id=”d” fulfill=”b.onClick=/my/super.zul”> </div>
先创建button,当按钮被按下时,才调用Ecutions.createComponents(“/my/super.zul” ,d ,null)为d div 创建子组件
Forward属性:
例如:将button的onClick事件跳转至window
<window id=”w” use=”MyWindow”>
<button label=”Submit” forward=”onClick=w.onOk”/>
</window>
然后,可以在MyWindow类内处理这个任务:
Public class MyWindow extends Window {
Public void onOk() { }
}
原始的事件是可选的,忽略,则默认为onClick事件。目标ID也是可选,忽略,则默认为空间所有者。则可简写为:
<window id=”w” use=”MyWindow”>
<button label=”Submit” forward=”onOk”/>
</window>
ZK元素
Zk元素
被用于创建组件,控制ZUML页面
如果有多个根组件,必须用zk作为文档根来组织这些根组件
<zk>
<window title=”first”></window>
<window title=”second” if=”${param.secondRequired}”> </window>
…
</zk>
Zscript元素
<zscript [language=”java”]> </zscript>
<zscript src=”uri” [language=”java”]/>
格式一:将脚本直接嵌入到页面, 格式二:指定一个脚本代码文件
定义脚本代码,默认语言为java
跳过84页
相关推荐
ZUML是ZK特有的用户界面标记语言,用于声明式地创建界面。这份文档介绍了ZUML的语法、元素和属性,让开发者能快速上手,以XML的方式构建动态的用户界面。 9. **基础教程(ZK 6 Essentials.pdf)** 这本书籍可能...
#### 六、ZK用户界面模型 - **待续...** 以上知识点仅为《ZK 开发指南》的部分内容,更多细节和深入的技术解析请参阅完整的文档。ZK作为一个强大的Ajax框架,为开发者提供了丰富的功能和支持,可以帮助他们快速构建...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...