- 浏览: 1152614 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
一,什么是forward
forward属性是zk提供的一个事件转发特性,
该特性将自身的某个原始事件转发到指定的目标组件上
或者将自身的onClick事件转发给另外一个事件
二,forwrd的格式
forward属性可以定义为如下格式
1#,forward="target_event_expr"
2#,forward="oringal_event=target_event_expr"
1.1-----如果未指定oringal_event原始事件,默认为onClick事件
所以第1种的完整写法是forward="onClick=target_event_expr",
1.2-----第二种格式,你可以随意定义原始事件
例如:<button forward="onMouseOver=onSavePosition"/>
<button forward="onBlur=targetId.onClick"/>
第二种方式是一个通用格式,但大部分情况下我们使用的是onClick事件,
所以提供了格式1,方便我们的开发
1.2.1------target_event_expr是一个表达式,这个表达式也有几种写法:
1#,event-name
2#,target-id.event-name
3#,id1/id2/id3.event-name
4#,${el-expr}.event-name
三,forward的目标是谁?
在上例子中
<button forward="onMouseOver=onSavePosition"/>
onSavePosition是谁的事件呢?
而<button forward="onSavePosition"/>中onSavePosition事件又是谁的呢?
在这两个例子中,都不属于以下类型,以下三种都指定了目标组件
1#,target-id.event-name
2#,id1/id2/id3.event-name
3#,${el-expr}.event-name
event-name前未指定目标组件,那么zk如何处理???
在zk的组件创建阶段,组件创建完毕后,有这么一段代码
ComponentsCtrl.applyForward(child, childInfo.getForward());(zk5.0.6 UiEngineImpl 743行)
该代码的作用是应用forward表达式,创建EventListener监听器,由此我们还可以知道forward其实
与comp.addEventListener差不多的
然后我们找,找到我们感兴趣的代码,
然后我找到了AbstractComponent的ForwardEventListener
的onEvent方法(zk5.0.6 AbstractComponent 2973行)
- public void onEvent(Event event) {
- final Object[] info = (Object[])_auxinf.forwards.get(_orgEvent);
- if (info != null )
- for (Iterator it = new ArrayList((List)info[ 1 ]).iterator();
- it.hasNext();) {
- final Object[] fwd = (Object[])it.next();
- Component target = resolveForwardTarget(fwd[0 ]);
- if (target == null ) {
- final IdSpace owner = getSpaceOwner();
- if (owner instanceof Component) {
- target = (Component)owner;
- } else {
- //Use the root component instead
- for (target = AbstractComponent. this ;;) {
- final Component p = target.getParent();
- if (p == null )
- break ;
- target = p;
- }
- }
- }
- //bug #2790393 Forward event listener shall be called immediately
- //(since 3.6.2) change from postEvent to sendEvent to
- //make forward event deterministic
- Events.sendEvent(
- new ForwardEvent((String)fwd[ 1 ], target, event, fwd[ 2 ]));
- }
- }
为了方便理解,我解释一下关键代码的意思,假如转发到的目标target组件为空,首先检测该组件的所属命
名空间是否为一个组件, 如果是一个组件类型,那么设置该命名空间为目标组件,反之将循环迭代获取,直至获取该组件的根组件,即root component
那么上面我们产生的疑问就豁然开朗了,
那么实际开发中我们需要注意什么
1,首先在mvc模式开发中,controller(use或apply指定的类)最好建立在forward组件所属的命名空间上
2,如果没有命名空间,那么将controller(use或apply指定的类)放在root component
四,传递参数
1,forward="target_event_expr"
2,forward="oringal_event=target_event_expr"
其中target_event_expr目标事件表达式,有四个类型
1#,event-name
2#,target-id.event-name
3#,id1/id2/id3.event-name
4#,${el-expr}.event-name
这四种类型的event-name也可以使用()号,像方法一样也可以有参数,这个参数可以是el表达式,
a,<button forward="onSomeEvent(${2+2})"/>
b,<label id="compId"/><button forward="onBlur=onSomeEvent(compId)"/>
b,<button forward="onBlur=compId.onSomeEvent("你好我是参数")"/>
在事件方法中onSomeEvent(Event event){
event.getData();//返回传递的参数
}
发表评论
-
ZK PPT
2012-02-27 17:28 1206附件中为ZK系列的PPT -
zk+spring+hibernate延迟加载的解决办法
2012-02-24 14:22 1272由于Zk 的AU request,lazy load现在没 ... -
【zk开发】zk注解的秘密
2012-02-24 14:23 1596The DataBinder that reads ZUML ... -
【zk开发】zkstudio安装及使用视屏
2012-02-26 12:04 1252安装视屏 http://docs.zkoss.org/w ... -
zk主题生成器
2012-02-26 12:04 1621生成器在附件内,兼容zk3.x 与zk5.x,zktheme ... -
zk服务器端获取鼠标点击位置
2012-02-26 12:04 1396index.zul Xml代码 ... -
zk Fiddle-zk在线测试保存代码分享平台
2012-02-23 08:20 1473http://zkfiddle.org/ 是zk项目组之一 ... -
zksample2-一个复杂应用的zk示例
2012-02-23 08:19 1483Zks ample2 is a demo applica ... -
zk5.0.8发布
2012-02-23 08:18 956该版本是一个维护版本,主要于bug修复及引入几个新特性 ... -
zk数据绑定
2012-02-23 08:17 1801简介 : 关于数据绑 ... -
zk EE/PE/CE的区别
2012-02-18 09:32 3109自从zk5.0以后,zk拆分为 ... -
ZK 5.0.8 新特性
2012-02-18 09:32 18948月16日,zk官网:zk5.0.8将要发布 zk5. ... -
zk client与server code结合提高长操作的响应性
2012-02-18 09:32 1434一,关于长操作与响应性 zk client与serve ... -
zk tooltiptext中换行
2012-02-17 11:37 1540Xml代码 <window ti ... -
zk下载文件中文乱码解决方案
2012-02-17 11:37 3675本文来自http://sun4love.iteye.com/b ... -
【zk视频】如何了解一个组件默认支持服务器端事件
2012-02-17 11:37 1311如何了解一个组件默认支持服务器端事件? 知识点:在z ... -
【zk视频】如何查看zk源码,了解zk原理
2012-02-17 11:37 1654当org.zkoss.zul.Window关闭时,zk是如 ... -
ZK 5.0.7发布,及新特性
2012-02-15 09:10 1154ZK 是一套以 AJAX/XUL/Java 为基础的网页应用 ... -
use【组件公共属性】
2012-02-15 09:09 1087语法 apply="a-class- ... -
zk异步请求异常,自定义错误页面的bug
2012-02-15 09:09 1130zk版本5.0.6 现在遇到一个问题,觉得是bug, ...
相关推荐
ZK开发手册(Developer's Guide)的中文翻译版一部分已经公开在zk-devguide 开发手册全部共有14章,超过200页,信息非常齐全: 第1到3章是ZK的简介以及基础构造的说明, 第4,5章介绍组件的周期以及如何处理事件....
首先,关于ZK框架的基础知识,ZK的核心理念是将UI设计与业务逻辑分离,通过事件驱动的模型简化Web应用的开发。它的组件模型使得开发者可以像操作桌面应用一样操作Web界面,提供了丰富的预定义组件,如按钮、表格、树...
通过在MyEclipse中安装和配置相应的zk插件,开发者可以便捷地搭建zk开发环境,进行zk应用的开发和调试。 【标签】:eclipse(MyEclipse是Eclipse的一个商业版本)、zk(ZooKeeper)、插件 【详细知识点】: 1. **...
ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册ZK中文开发手册
ZK的开发手册提供了必要的基础知识和指导,使得开发者能够快速掌握ZK框架,并有效地应用于实际项目中。通过使用ZK,开发者可以更加专注于业务逻辑的实现和前端用户体验的设计,从而提高整体的开发效率和产品质量。
在这个"ZK开发文档中文HTML版"中,你将找到关于如何使用ZK框架进行开发的详细指南。 首先,文档会介绍ZK的基本概念,包括组件系统、事件处理和布局管理。ZK的组件库丰富,涵盖了各种常见的UI元素,如按钮、表格、树...
这套zk开发全套资料包含了ZK开发所需的多个重要组成部分,下面将逐一详细介绍这些资源及其在ZK开发中的作用。 1. **插件**:ZK的插件可以扩展其功能,例如数据绑定、图表生成、报表工具等。开发者可能需要使用这些...
《ZK开发手册》是ZK框架的官方文档,详细介绍了ZK的使用方法、组件、API、事件处理、集成策略等内容,是开发者学习和解决问题的重要参考资料。阅读该手册,可以帮助开发人员更好地理解和运用ZK框架,提高开发效率,...
在Web项目中配置ZK是使用ZKStudio以及开发ZK应用的前提条件。配置完成后,可以使用ZKStudio提供的ZUL可视化编辑器(VisualEditor)进行开发。ZUL可视化编辑器是一个所见即所得的编辑工具,支持高亮显示超链接、语法...
**ZK中文开发手册**是针对ZK框架的详尽指南,旨在帮助开发者更好地理解和使用这一强大的组件库和事件驱动的Java应用框架。ZK框架主要用于构建富客户端Web应用程序,它提供了一种简单的方式来创建交互式的用户界面,...
在《ZK开发者指南》中,你将找到以下关键知识点: 1. **安装和配置**:手册会指导你如何设置开发环境,包括JDK、Maven或Gradle的安装,以及ZK的依赖配置。 2. **组件使用**:书中详细介绍了各种组件的属性、事件和...
文件提供的信息中关于股票的基本概念、特征和作用,虽然和标题“ZK框架:Ajax开发实战”不直接相关,但通过提取和整合其中的股票知识,我们可以更全面地理解股票市场的基本运作机制,这对于培养投资意识和财务知识也...
**ZK 开发手册中文版概述** ZK 是一个基于组件的 Java Web 用户界面框架,专为构建富互联网应用程序(RIA)而设计。它提供了一种简单、直观的方式来创建交互式用户界面,无需掌握复杂的 JavaScript 或 AJAX 技术。...
ZK框架是一款用于Web开发的开源富客户端框架...整体来说,ZK框架开发手册中涵盖了从基础架构到高级功能的广泛知识点,为开发者提供了一套完整的Web应用开发工具包,让开发者能够快速构建功能强大、响应迅速的Web应用。
【ZK学习开发】 ZK是一个基于Java的轻量级MVC框架,专注...在实际开发中,理解每个组件的功能、属性和事件,以及如何组合使用,是掌握ZK的关键。通过深入学习和实践,你可以利用ZK构建出高效、用户体验优良的Web应用。
ZK4500SDK是中控科技针对其ZK4500指纹仪推出的一款开发包,旨在帮助开发者高效地集成指纹识别功能到自己的系统或应用中。本文将详细介绍ZK4500SDK的主要内容及其在不同语言环境下的应用。 首先,ZK4500是一款高性能...
首先,"ZK-Studio_userguide.pdf"是关于ZK Studio的用户指南,ZK Studio是ZK提供的一个集成开发环境,用于简化ZK应用的创建、调试和部署过程。该文档将详细介绍如何安装和配置ZK Studio,以及如何使用其各种功能,如...
下面,我们将详细探讨这些包的作用以及它们在ZK开发中的重要性。 1. **ckez.jar**:这个文件可能包含了ZK的某些特定功能或者组件,可能是一个扩展或插件,具体用途需要查看其源代码或文档来确定。 2. **zul.jar**...