`
徜徉の小溪
  • 浏览: 448112 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ZK加载页面的生命周期

    博客分类:
  • ZK
阅读更多

加载页面的活动周期 加载页面的活动周期 加载页面的活动周期 加载页面的活动周期

ZK 加载器 (ZK loader) 加载并解释页面需要经历四个阶段:页面初始阶段,组 件

创建阶段,事件处理阶段及响应阶段 (the Page Initial Phase, the Componen t

Creation Phase, the Event Processing Phase, and the Rendering Phase) 。

如果你手动创建所有组件 , 则没有页面初始阶段。

 

 

1. 页面初始阶段

在这个阶段, ZK 处理处理指令,被称为初始化 ( init

处理指令,此阶段会被跳过。

对于每个 init 处理指令都有一个 class 属性,一个会被创建,然后它的 doInit 方法将会被 调用。当然的应用程序的需求。

<?init class="MyInit"?>

初始处理指令的另一种形式是使用 zscrtpt 属性指定

那么在页面初始阶段这个文件将会被解释。

<?init zscript="/my/init.zs"?>

请注意在这个阶段页面并没有被附加到桌面。

 

 

 2.组件创建阶段

在这个阶段, ZK 加载器 (ZK loader) 解释一个 ZUML 页面,它创建并初始组件。

这需要以下的一些步骤:

1. 对于每个元素,它检查 if 和 unless 以确定元素是否有效。如果无效, 此

       元素及其所有的子元素将 会被忽略。

2. 如果 forEach 被指定并伴随着一个项目的集合, ZK 将会为集合中的每个

  项目重复以下步骤。

3. 基于元素名字,或使用 use 属性指定的类 ( 如果有的话 ) 创建一个组件。

4. 基于在 ZUML 页面属性指定的顺序依次初始成员。

5. 解释嵌套的元素 (nested elements) 并重复整个过程。

6. 调用 afterCompose 方法如果组件实现了

  org.zkoss.zk.ui.ext.AfterCompose 接口。

7. 在所有的组件都被创建后, onCreate 事件被送到该组件,这样之后应用

  程序可以初始划化一些元素的内容。注意, onCreate 事件首先为子组件

  公布。

    [ 注 ]: 开发人员可以通过监听 onCreate 事件或实现 AfterCompose 接口来完成 一

  些特定应用程序的初始化。 AfterCompose 在组件创建阶段 (the Component

  Creation Phase) 被调用,而 onCreate 事件是由事件监听器来处理的。一个事 件

  监听器者可以自由地挂起或恢复执行 ( 例如创建对话框 (modal dialogs)), 而由

  于 AfterCompose 不需要派生另一个线程, 所以它快一些。

 

 

3.事件处理阶段

在这个阶段, ZK 依次调用每个事件的监听器,这些事件已经为桌面排好队列。

一个独立线程开始调用监听,这样它可以在不影响其它事件处理的情况下被挂

起。在处理过程中,一个事件可能引发其它事件,事件监听和处理 (The Event

Listening and Processing)

 

 

4. 响应阶段

在所有的事件都被处理后, ZK 将这些组件组成一个规则的 HTML 页面并将这个 页

面送到浏览器。为了发送一个组件, redraw 会被调用。在这个方法中,一个组件的实现

(implementation) 并不会更改其它组件的内容。

2
1
分享到:
评论

相关推荐

    ZK框架:Ajax开发实战

    通过实现Composer,开发者可以控制组件的生命周期,监听和响应用户交互,实现复杂的业务逻辑。 6. **Scriplet**:Scriplet是ZK中的服务器端脚本,可以在ZUL文件中直接编写Java代码,简化了前后端交互。通过Scriplet...

    ZK(AJAX开发工具)开发手册

    - 页面加载生命周期是指从用户请求页面到页面完全加载完毕的过程。 - 这个过程中涉及到了页面初始化、组件创建、事件处理和渲染等多个阶段。 ##### 页面更新生命周期 - 页面更新生命周期是指当页面收到新的请求或...

    zk developeguide3.5.pdf

    - **页面加载的生命周期**:描述了页面从加载到渲染的全过程。 - **页面初始化阶段**:准备阶段。 - **组件创建阶段**:根据配置创建组件。 - **事件处理阶段**:响应用户的操作。 - **渲染阶段**:更新视图。 -...

    zk3.5源代码这个不用说了吧

    - **ZK生命周期**:理解组件的创建、初始化、渲染、销毁等生命周期方法。 通过阅读ZK 3.5源代码,你可以深入了解其内部工作原理,学习如何优化组件性能,以及如何自定义组件和扩展功能。这对于开发高效、响应式的...

    Publishing.ZK.Developers.Guide pdf 书中代码

    6. **Composer和Lifecycle**:ZK的Composer机制负责管理组件的生命周期和行为。学习代码中的Composer类,可以了解如何在组件加载、显示和销毁时执行特定操作。 7. **ZK拓展和自定义组件**:如果你看到自定义组件的...

    ZK Developer Guide

    - 在 zscript 中定义的变量和函数可以在组件的生命周期中使用。 - 这些变量和函数可以用来存储状态信息或实现业务逻辑。 - **zscript 和 EL 表达式:** - zscript 和 EL 表达式可以混合使用,以实现更复杂的逻辑...

    Zk TreeMode

    这些操作通常在`doAfterCompose()`方法中调用,这是因为在ZK组件生命周期中,这个方法是在组件完成初始加载后执行,适合进行数据绑定和其他初始化工作。 **步骤一**:创建节点和子节点 ```java setModel(new ...

    微信小程序demo:消防业务

    在JavaScript文件中,开发者会定义小程序的生命周期函数,如onLoad、onShow等,这些函数会在小程序的特定阶段被调用,以完成数据加载、界面渲染等工作。此外,通过微信小程序API,开发者可以访问微信提供的各种服务...

    Solr(Cloudera)使用手册

    1. **Cache生命周期**:了解各种缓存的生命周期管理机制,比如何时清理缓存、如何设置最大容量等。 2. **使用场景**:不同的使用场景适合不同类型的缓存。例如,经常重复执行的查询适合使用QueryResultCache。 3. ...

    郑州数字马力面试(后台java)经验

    年轻代的对象生命周期较短,大部分对象很快会被回收,因此使用复制算法效率较高。复制算法只保留存活的对象,而抛弃不存活的对象,避免了标记-清除算法带来的碎片化问题。 **11. G1与CMS的区别** - **G1**:兼顾...

Global site tag (gtag.js) - Google Analytics