ZK 5.0.4新特性

 

ZK 5.0.4新特性

  • Author
    Timothy Clare, Technology Evangelist, Potix Corporation
  • Date
    August 31st, 2010
  • Version
    ZK 5.0.4

 

ZK 5.0.4主要把焦点放在内存优化和引入一些新的特性上,除了内存有重大改善外, ZK 5.0.4 也引入许多新的特性,例如帧间通信, 新的水平垂直布局组件、像slider和combobox功能的提升

Contents

  [hide]

内存优化

zk5.0.4 中,内存使用上有重大改善. 由对组件的测试来看,内存使用大约减少了40% 到 70% . 我们将sandbox application升级到zk 5.0.4 测试的时候,总计节约了63%的内存.

了解更多信息,请看测试结果ZK 5.0.4's memory improvements.

精炼的水平和垂直布局组件

引入两个新的组件Hlayout 和 Vlayout ,当布局控件的时候,它们给予开发者一个更加强大的选择. 在Vlayout 和 Hlayout的实现中, 我们使用 HTML Div 标签显示这两个布局组件的内容, 因此输出内容减少并且显示速度大约提高了两倍

了解更多信息,请看 ZK Component Reference: HlayoutVlayout, and Jumper Chen's blog: "Two new layout components in ZK 5.0.4, Hlayout and Vlayout".

命名快捷方式

ZK 5.0.4 引入命名空间快捷方式的概念,意思是说在写zul文件的时候,你无需指定完整的命名空间。例如:

<n:html xmlns:n="native">
   <n:head>
   </n:head>
</n:html>

For a complete list of namespace short cuts please click here.

echoEvent 支持任何对象类型

当前  叫 Events.echoEvent(String, Component, String)的函数 仅支持string 类型的数据. 然后, 从 ZK 5.0.4 开始,提供了一个新的函数Events.echoEvent(String, Component, Object) ,用于支持任意Object type,为开发者提供了更多的灵活性.

了解更多信息,请看 ZK Component Reference: Event Firing.

Slider 支持双击递增递减

ZK 5.0.4 引入了一个新的功能,允许用户双击期望的位置递增递减slider,.

Image:slider_click.png

 

<groupbox mold="3d" width="250px">
	<caption label="Default" />
	<slider id="slider1" onScroll="zoom(slider1, img1)" />
	<image id="img1" src="/img/sun.jpg" width="10px" />
</groupbox>

 

Calendar 支持通过滑鼠移动上一月下一月

zk5.0.4增强功能的Calendar,可以滚动滑鼠改变月份, 就像出现在window里的功能

Image:calendar_slide.png

 

Radio 现在可以放在任意位置

在 ZK 5.0.4以前  Radio 组件 必须有一个 Radiogroup祖先. 现在 在  ZK 5.0.4中的 Radio可以放在任何位置

<radiogroup id="rg1"/>
<radiogroup id="rg2"/>
<grid width="300px">
   <rows>
      <row>
         <radio label="radio 1.1" radiogroup="rg1"/>
         <radio label="radio 1.2" radiogroup="rg1"/>
         <radio label="radio 1.3" radiogroup="rg1"/>
      </row>
      <row>
         <radio label="radio 2.1" radiogroup="rg2"/>
         <radio label="radio 2.2" radiogroup="rg2"/>
         <radio label="radio 2.3" radiogroup="rg2"/>
      </row>
   </rows>
</grid>

For more information please take a look at ZK Component Reference: Radiogroup.

Combobox 可选默认值

在 ZK 5.0.4,现在可以为combobox指定一个默认值. 下面这个例子演示如何设置默认值.

Image:combo_select.png

 

<combobox id="combobox" width="100px">
	<attribute name="onCreate"><![CDATA[
		List list2 = new ArrayList();
		list2.add("David");
		list2.add("Thomas");
		list2.add("Steven");
		ListModelList lm2 = new ListModelList(list2);
		lm2.addSelection(lm2.get(0));
		combobox.setModel(lm2);
	]]></attribute>
</combobox>

 lang.xml 中的widget class 支持 EL表达式

 XML 中的widget class定义,现在支持EL表达式动态加载上下文环境中的widget classes.例如下面代码演示根据属性加载widget class.

<widget-class>${c:property("whatever")}</widget-class>

通过EL表达式的使用, 允许开发者根据不同用户不同条件提供不同主题的视图. 了解更多信息请看 Tom Yeh's blog post titled "Totally Different Look per User Without Modifying Application".

Button supports type="submit"

由于集成遗留应用的强烈需求,Button 现在支持submit 类型.

<n:form action="a_uri" xmlns:n="native">
  <textbox/>
  <button type="submit" label="Submit"/>
  <button type="reset" label="Reset"/>
</n:form>

合并多javascript文件

你可以通过js文件合并成尽可能少的文件来加速网页的加载. 因此 ZK 5.0.4引入了简化文件合并的功能

注意js文件的合并可以通过 JSP, DSP 或者其他技术实现 ,该特性并不是唯一的实现方式. 本特性提供了一个 system-wide 的方式最大限度的减少js文件的数量.

了解更多信息请查看 ZK Developer's Guide: Performance Tip, and Jumper Chen's blog post titled "Speed up the loading time of a ZK Application".

无服务推送的帧间通信

在portal layout布局中,如果你的应用是一个多帧构成的多桌面程序,那么现在这些实例间通信可以不需要服务器推送技术或者定时器了,因此它可最大限度的减少网络流量

在ZK 5.0.4 中,引入了组的概念, 它用一个叫做group-scope事件队列使用实例间通信更加简单. 以下代码演示了一些例子:

EventQueue que = EventQueues.lookup("groupTest", "group", true);
 
que.subscribe(new EventListener() {
   public void onEvent(Event evt) {
      o.setValue(o.getValue() + evt.getData() + "\n");
   }
});
 
void publish() {
   String text = i.getValue();
 
   if (text.length() > 0) {
      i.setValue("");
      que.publish(new Event("onGroupTest", null, text));
   }
}

了解更多信息请看 ZK Component Reference: Event Queues


This feature requires ZK EE

不维护服务器端状态最小化内存使用 (译者注:非常抱歉,收费版才可用,:(   )

ZK 5.0.4 引入一个新的特性叫"存根唯一"的概念, 该功能输出客户端资源,但不维护服务器端状态, 由设置为boolean类型值的属性 「stubonly」控制, 当设置为 true时,zk不维护服务器端状态

此属性由父类继承而来,因此将应用到父组件stubonly设置为true的所有子组件中. 请注意在唯一存根的组件已经显示之后,发送到客户端存根唯一的组件不可访问

下面演示存根唯一的功能. 请注意,在例子中 vbox, hbox, label 和 textbox 都是存根唯一的.

<window title="test of stub-only" border="normal">
   <vbox stubonly="true">
      <hbox>
         This is a label at Row 1, Cell 1.
         <textbox/>
         Another label at Row 1, Cell 2 (previous textbox is stub-only too)
      </hbox>
      <hbox>
         Another at Row 2, Cell 1 (and the following listbox is not stub-only)
         <listbox stubonly="false" width="50px">
            <listitem label="item1"/>
            <listitem label="item2"/>
         </listbox>
      </hbox>
   </vbox>
</window>

译者注:标记为stubonly的组件及子组件在服务器端将不可访问,例如<label id="lblName"/>,

在后端java code中你无法访问lblName,该功能为收费功能

 

了解更多信息请看 at ZK Developer's Guide: Performance Tip.


This feature requires ZK EE

Download & other resources

 

 

 

 

 

 

 

 

 

 

翻译如果有误请电邮        zhangxuehuaemail 在 gmail  点 com           或到http://sunflowers.iteye.com留言

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
Redis 5.0.4是一个开源的内存数据库软件,可以用来缓存数据和处理高并发的读写请求。然而,Redis在Windows下的支持相对较弱,因为Redis的开发主要集中在Linux和Unix操作系统上。尽管如此,Redis 5.0.4也可以在Windows上进行安装和使用。 在安装Redis 5.0.4之前,需要满足一些前提条件。首先,需要在Windows上安装合适的C编译器,如MSYS2或Cygwin。此外,还需要安装Redis的依赖库,包括hiredis和libevent。 一种在Windows上安装Redis 5.0.4的方法是通过WSL(Windows Subsystem for Linux)。WSL提供了一个兼容Linux内核的环境,可以在Windows上运行原生的Linux二进制文件。通过在WSL中安装Redis 5.0.4,可以获得更好的稳定性和兼容性。 另一种方法是通过虚拟机,在Windows上安装一个Linux发行版,如Ubuntu或CentOS,并在虚拟机中安装Redis 5.0.4。这种方法可以提供更接近纯Linux环境的性能和功能。 无论选择哪种安装方法,在Windows上使用Redis 5.0.4时需要注意一些事项。首先,由于Windows的文件系统与Unix的文件系统有一些差异,所以在配置Redis的持久化功能时需要留意路径设置。此外,Redis在Windows上的性能可能不如在Linux上那么高效,因为Windows的架构和调度方式与Linux有所不同。 总的来说,Redis 5.0.4可以在Windows上安装和使用,但它对Linux和Unix操作系统的支持更全面。在Windows上使用Redis时,需要注意一些配置和性能方面的问题,并选择适合自己情况的安装方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值