第六章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
标签:ZK,54,指定,----,创建,组件,apply,属性 From: https://blog.51cto.com/iwtxokhtd/6253156