- 浏览: 42376 次
- 性别:
- 来自: 北京
文章列表
一、EL表达式在页面上被访问到时会被当做server,因此它可以访问下面的:
1、Components by using its id
2、variables defined in zscript
3、隐含对象
<window title="EL">
<textbox id="tb" value="${self.parent.title}"/>
${tb.value}
<button label="Enter" if="${not empty para ...
一、A XML Element Represents a Component
每个XML元素都代表一个component,除了特殊的<zk><attribute>,因此,下面的ZUML将创建三个component
<window>
<textbox/>
<button/>
</window>
在上面的ZUML中,component之间的关系和xml的结构一样。
二、special XML Element
<zk>....</zk>
<window&g ...
ZUML是zk user interface markup language的缩写,它是基于xml的,也正因为它是基于xml的,所以有些标点符号必须用符号代替。
使用<![CDATA[]]>可以将代码执行,而不是已文本的形式显示。
<zscript>
<![CDATA[
void myFunc(int a){
alert(a);
}
]]>
</zscript>
强烈建议在zscript中间加上<![CDATA[]]>,因为这样就不用担心xml中标点符号必须用符号代替的情况。
我个人理解,ID Space就是为了解决页面中id的管理问题,如果在一个页面中有很多component,我们如果为每一个component都添加唯一的一个id,那么对于开发人员来说无疑是冗杂而繁琐的,所以zk给我们的解决方案是可以把一个页面分成若干个,然后分别维护各自的id space,这样就不必担心有过多的id,也不会担心出现冲突。
tree of ID Space:window 、page都是space owner
当一个space有子space的时候,子space中的component就不再属于父space了,比如sapce A有一个子space B,那么space A包含A和B ...
page是component的集合,只有添加到page中的component对于client才是可用的,显然如果把他们从page中移除之后,他们就是不可见的。
desktop是page的集合,比如说我们创建了一个index.zul页面,在这个页面,包含了两个zul,分别是booklist.zul和cart.zul,当用户点击某个按钮发送请求的时候,desktop就发挥作用了,它相当于一个独立的request。每当一个独立的请求发送到服务器端的时候,随之而发送的就是响应的desktop
我们直到component只有关联到page才是可见的,将component关联到page有两种方式: ...
我们知道zk框架是基于组件的,每个UI对象都对应的一个component,所以,对UI的装配实际上就是修改component的状态和他们之间的关系。
对于UI的修改,zk提供了两种方式:xml-based approach 和 pure-java approach
我们可以对比下面两种方式:
一、xml-based approach:
<window title="hello world" border="normal">
<button label="say Hello" />
</w ...
现在我们总结一下zk框架的处理流程,包括:加载页面的处理流、对于ajax请求的处理流
加载页面的处理流大概分下面的几个步骤:
1、用户发送url请求,如果这个url和zk中我们定义的url相吻合,那么zk加载器就会引用这个请求。
2、zk加载器负责加载指定的页面,并在服务器端将这些页面转化成java可操控的component。
3、当加载完页面后,zk加载器会将结果以html的形式发送到zk 客户端引擎。
4、zk客户端引擎将widget转化成dom并加dom插入到浏览器的dom对象树中从而形成用户可见的页面。
5、然后zk 客户端引擎会等待用户的请求,如果用户的请求是一个页面 ...
zk里面的每个对象都是由两部分组成的:component和widget。
component是一个java对象,它运行在server端,是一个指向ui对象的引用,它拥有ui对象的属性只不过是抽象的,是看不见的。而widget是一个js对象,运行在client端,它指向的是和用户交互的ui对象,因此是可以看得见得。
component和widget的关系是一对一的,然而,当componenti没有与page关联时,肯定没有一个widget与之对应,相反一个widget可以独立存在于page而不需要与响应的component关联。
component和widget的交互都是异步的,都是由zk自 ...
ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面。最大的好处是,在设计AJAX网络应用程序时,轻松简便的操作就像设计桌面程序一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了丰富多样、可重复使用的XUL与HTML组件,以及以 XML 为基础的使用介面设计语言 ZK User-interfaces Markup Language (ZUML)。
ZK 提供超过60个XUL组件及80个XHTML组件。举凡listbox, slider, audio, slider, ...