六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 12|回复: 0

zul组件、zhtml组件、native组件的区别

[复制链接]

升级  98.2%

315

主题

315

主题

315

主题

进士

Rank: 4

积分
991
 楼主| 发表于 2013-2-3 11:19:40 | 显示全部楼层 |阅读模式
一,所属命名空间不同

zul组件  xmls= http://www.zkoss.org/2005/zul

zhtml组件 xmlns:h=" http://www.w3.org/1999/xhtml "

native组件 xmlns:n=" http://www.zkoss.org/2005/zk/native "

二,组件类不同

zul组件  zul.jar下组件类

zhtml组件 zhtml.jar下组件类

native组件 全部是zk.jar下的类org.zkoss.zk.ui.HtmlNativeComponent
 

三,事件处理EventHandler

 1,zhtml组件 可以触发事件处理函数onSetting
   <h:input  value="测试" type="button" forward="onSetting" xmlns:h=" http://www.w3.org/1999/xhtml"/ >

2, native组件不可以触发事件处理函数onSetting 
    <n:input  value="测试" type="button" forward="onSetting" xmlns:n="native"/>

3,zul组件可以触发事件处理函数onSetting 
    <button label="测试" id="btnSubmit" forward="onSetting"></button>
 

四,受管状态

所谓受管状态,全由个人杜撰,即所在命名空间保存其组件信息,可通过命名空间查找删除组件

1)结论

   1,zul组件  与  zhtml组件  是受所在命名空间管理的
   2,native组件 不受所在命名空间管理

2)结论依据

  zul组件、zhtml组件、native组件 有一个共同祖先 org.zkoss.zk.ui.AbstractComponent类
  在zk5.06版中的AbstractComponent类的setId(543行)方法中有一行代码
  addToIdSpaces(this);(589行),意思是将当前组件添加到id命名空间中,
  例如添加到window,page中,  但在addToIdSpaces方法中有一段有趣的代码
<div class="dp-highlighter"><div class="bar"><div class="tools">Java代码  
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表