![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zk框架
寒剑飘香
这个作者很懒,什么都没留下…
展开
-
初识zk框架
ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面。最大的好处是,在设计AJAX网络应用程序时,轻松简便的操作就像设计桌面程序一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了丰富多样、可重复使用的XUL与HTML组件,以及以 XML 为基础的使用介面设计语言 ZK Use...原创 2011-04-07 12:21:30 · 127 阅读 · 0 评论 -
zk框架之Event Firing
时间的触发源有两种,常见的是通过组件来触发,其实应用本身也可以触发事件触发时间的方式有三种:post、send、echo Post an EventPosting是触发时间最常见的一种方式,同过posting,触发的事件被放到系统时间的最末端,储存在事件序列里的事件会按照先进先出的顺序一个一个被处理,每个desktop都有一个事件序列。Events.postEvent("onC...2011-04-09 17:01:32 · 152 阅读 · 0 评论 -
zk框架之Event Handling
event是用来抽象事件的,在这里我们将讨论怎么去操纵event,比如说listening,posting,forwarding Event Listening有两种方式可以监听事件:Event Hanler and Event Listener。 Listen by use of an Event Handler我们可以在zk page中将handler指定为一个属性或者...2011-04-09 15:35:47 · 190 阅读 · 0 评论 -
zk框架之Macro Component
Define Macro Component任意的ZUML page 都可以作为一个macro component我们在web-inf下新建macro,并新建一个username.zul<?page title="new page title" contentType="text/html;charset=UTF-8"?><zk> <hlay...2011-04-09 14:05:07 · 97 阅读 · 0 评论 -
zk框架之Richlet
richlet是一段java小程序,它可以形成UI,也可以为用户的请求服务。当用户的url请求到来时,zk会根据web.xml中的url-pattern来检查这是要请求一个zul或者是richlet。当用户的请求是一个zul的时候,就和我们前面所讲的一样。如果用户的请求是一个richlet,那么zk loader 会将处理任务交给richlet,这时,ui的形成就全部由richlet决定。...2011-04-09 13:36:33 · 174 阅读 · 0 评论 -
zk框架之On-demand Evaluation
默认情况下,zk都是根据我们在zuml文档中的定义来构造组件,然而,我们也可以根据需要来加载需要的组件。比如说,我们可以将一个zuml文档分割成几块,然后根据需要来加载指定的模块。这种功能提高了服务器端和客户端的性能,为了实现这个功能,zk提供了一个基本的evaluation,叫做fulfill来简化这个功能的实现。 Load-on-Demand with the fulfill attr...2011-04-08 14:32:53 · 114 阅读 · 0 评论 -
框架之Iterative Evaluation
默认的情况下,zk会将每一个元素实例化,如果你想生成组件的集合,那么就要使用foreach <?page title="new page title" contentType="text/html;charset=UTF-8"?><zk><window title="new page title" border="normal">2011-04-08 13:30:27 · 113 阅读 · 0 评论 -
zk框架之Condition Evaluation
If and Unless我们可以通过if和Unless来控制widget的显示与否<button if="${param.readOnly=='true' }"></button><button unless="${param.readOnly=='true' }"></button> Switch and Case...2011-04-08 11:27:06 · 131 阅读 · 0 评论 -
zk框架之Scripts in ZUML
ZUML允许在页面中嵌入script脚本,有两种类型的脚本:server端的和client端的,我们先讨论服务器端的脚本。 在ZK提供的文档里,说明了server-side的脚本有两种嵌入方式:the zscript element、the event handler。前者当页面加载完成后执行,后者是在事件触发时执行。 我们可以想见,在ZUML page中嵌入脚本对于应用程序执行是...2011-04-08 11:04:47 · 286 阅读 · 0 评论 -
zk框架之Connecting to Java World
一、EL表达式在页面上被访问到时会被当做server,因此它可以访问下面的:1、Components by using its id2、variables defined in zscript3、隐含对象 <window title="EL"> <textbox id="tb" value="${self.parent.title}"/> ${t...2011-04-07 19:20:15 · 97 阅读 · 0 评论 -
zk框架之XML
一、A XML Element Represents a Component每个XML元素都代表一个component,除了特殊的<zk><attribute>,因此,下面的ZUML将创建三个component<window> <textbox/> <button/></window> 在上面的ZU...2011-04-07 18:21:10 · 177 阅读 · 0 评论 -
zk框架之ZUML
ZUML是zk user interface markup language的缩写,它是基于xml的,也正因为它是基于xml的,所以有些标点符号必须用符号代替。使用<![CDATA[]]>可以将代码执行,而不是已文本的形式显示。<zscript> <![CDATA[ void myFunc(int a){ alert(a); }]]>...2011-04-07 17:00:30 · 324 阅读 · 0 评论 -
zk框架之ID Space
我个人理解,ID Space就是为了解决页面中id的管理问题,如果在一个页面中有很多component,我们如果为每一个component都添加唯一的一个id,那么对于开发人员来说无疑是冗杂而繁琐的,所以zk给我们的解决方案是可以把一个页面分成若干个,然后分别维护各自的id space,这样就不必担心有过多的id,也不会担心出现冲突。 tree of ID Space:window 、pa...2011-04-07 16:29:52 · 294 阅读 · 0 评论 -
zk框架之desktop、page、component
page是component的集合,只有添加到page中的component对于client才是可用的,显然如果把他们从page中移除之后,他们就是不可见的。desktop是page的集合,比如说我们创建了一个index.zul页面,在这个页面,包含了两个zul,分别是booklist.zul和cart.zul,当用户点击某个按钮发送请求的时候,desktop就发挥作用了,它相当于一个独立的r...2011-04-07 14:56:24 · 174 阅读 · 0 评论 -
zk框架之UI Composing
我们知道zk框架是基于组件的,每个UI对象都对应的一个component,所以,对UI的装配实际上就是修改component的状态和他们之间的关系。对于UI的修改,zk提供了两种方式:xml-based approach 和 pure-java approach我们可以对比下面两种方式:一、xml-based approach: <window title="hello ...2011-04-07 14:43:35 · 121 阅读 · 0 评论 -
zk处理流程
现在我们总结一下zk框架的处理流程,包括:加载页面的处理流、对于ajax请求的处理流 加载页面的处理流大概分下面的几个步骤:1、用户发送url请求,如果这个url和zk中我们定义的url相吻合,那么zk加载器就会引用这个请求。2、zk加载器负责加载指定的页面,并在服务器端将这些页面转化成java可操控的component。3、当加载完页面后,zk加载器会将结果以html的形式发...2011-04-07 13:49:05 · 169 阅读 · 0 评论 -
zk框架的component和widget
zk里面的每个对象都是由两部分组成的:component和widget。component是一个java对象,它运行在server端,是一个指向ui对象的引用,它拥有ui对象的属性只不过是抽象的,是看不见的。而widget是一个js对象,运行在client端,它指向的是和用户交互的ui对象,因此是可以看得见得。component和widget的关系是一对一的,然而,当componenti没...2011-04-07 13:26:15 · 322 阅读 · 0 评论 -
zk框架之Event Forwarding
Event Forwarding in Java我们可以使用composerpublic class MyComposer extends GenericForwardComposer{ private static final long serialVersionUID = -6441175297617827574L; public void onClick$hi(){...2011-04-10 13:45:13 · 80 阅读 · 0 评论