snoopy7713 发表于 2013-2-3 11:19:40

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

一,所属命名空间不同

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代码 http://www.agoit.com/images/icon_copy.gif http://www.agoit.com/images/icon_star.pnghttp://www.agoit.com/images/spinner.gif
页: [1]
查看完整版本: zul组件、zhtml组件、native组件的区别