java开发框架_ZK使用笔记二
2010-02-02 09:26
417 查看
在上一个文章里,我们把项目建好了,并且已经成功运行,现在来理解下zk事件驱动(event-driven)的,基于组件(component-based)的特点
先来点理论,什么叫做基于组件,维基百科里面这么描述的:基于组件的软件工程(Component-based software engineering,简称CBSE)或基于组件的开发(Component-Based Development,简称CBD)是一种软件开发范型。它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件。这样不仅可以节省时间和经费,提高工作效率,而且可以产生更加规范、更加可靠的应用软件。
所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作.
还是用之前的例子来具体说明下
<label value="You are using: ${desktop.webApp.version}"/>
注意:zk集成了EL表达式,但是这个EL表达式的功能并不全,比如把数据库的clob字段取出来放到ZK集成的这个EL表达式里面,他就不能分辨<br />这类HTML代码,而我们用jsp提供的EL表达式就可以完美的实现换行的效果,希望ZK能在以后的版本里面修正这个BUG
这个label实现的效果是:
You are using: 3.6.2
可以看到,我们得到了当前zk的版本信息,那他是怎么调用的呢,分析这句代码:${desktop.webApp.version}
desktop的意思是桌面信息,因为ZK是基于组件的,在之前的文章里,我们知道,页面(
这句代码,我们这样写更便于理解
${self.desktop.webApp.version}
self的含义是得到当前组件信息,也就是当前这个label,然后通过label进一步得到桌面信息
当然,我们也可以尝试在ZS文件里面写,我们先建一个index.zs文件和index.zul同一个目录下
index.zul需要导入index.zs文件:
当然,为了能够调用相应的组件,我们需要把ID给组件加上
好了,现在index.zul文件完整代码是这样:
我们在index.zs文件里面这样写
getFellow() : 得到当前组件下的子组件
spaceOwner : zk的隐含对象,得到组件的空间所有者,与
我们这样写,一样也可以得到当前版本的信息,和之前的结果是一样的
在这一节,介绍了简单组件的调用方式,下一节,将介绍下ZK的树形结构
先来点理论,什么叫做基于组件,维基百科里面这么描述的:基于组件的软件工程(Component-based software engineering,简称CBSE)或基于组件的开发(Component-Based Development,简称CBD)是一种软件开发范型。它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件。这样不仅可以节省时间和经费,提高工作效率,而且可以产生更加规范、更加可靠的应用软件。
所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作.
还是用之前的例子来具体说明下
<?page title="Auto Generated index.zul"?> <window title="Hello World!!" border="normal" width="200px"> <label value="You are using: ${desktop.webApp.version}"/> </window>
<label value="You are using: ${desktop.webApp.version}"/>
注意:zk集成了EL表达式,但是这个EL表达式的功能并不全,比如把数据库的clob字段取出来放到ZK集成的这个EL表达式里面,他就不能分辨<br />这类HTML代码,而我们用jsp提供的EL表达式就可以完美的实现换行的效果,希望ZK能在以后的版本里面修正这个BUG
这个label实现的效果是:
You are using: 3.6.2
可以看到,我们得到了当前zk的版本信息,那他是怎么调用的呢,分析这句代码:${desktop.webApp.version}
desktop的意思是桌面信息,因为ZK是基于组件的,在之前的文章里,我们知道,页面(
org.zkoss.zk.ui.Page)是一系列组件的集合,而桌面又是页面的集合,所以我们在任何调用组件的地方都可以直接通过组件得到当前桌面的信息,然后我们通过桌面就能得到application的版本信息了
这句代码,我们这样写更便于理解
${self.desktop.webApp.version}
self的含义是得到当前组件信息,也就是当前这个label,然后通过label进一步得到桌面信息
当然,我们也可以尝试在ZS文件里面写,我们先建一个index.zs文件和index.zul同一个目录下
index.zul需要导入index.zs文件:
<zscript src="index.zs" ></zscript>
当然,为了能够调用相应的组件,我们需要把ID给组件加上
<window id="win" title="Hello World!!" border="normal" width="200px"> <label id="label1" value="You are using: ${self.desktop.webApp.version}"/>
好了,现在index.zul文件完整代码是这样:
<?page title="Auto Generated index.zul"?>
<window id="win" title="Hello World!!" border="normal" width="200px"> <label id="label1" value="You are using: ${self.desktop.webApp.version}"/>
<zscript src="index.zs"></zscript>
</window>
我们在index.zs文件里面这样写
String name = spaceOwner.getDesktop().getWebApp().getVersion(); win.getFellow("label1").setValue(name);
getFellow() : 得到当前组件下的子组件
spaceOwner : zk的隐含对象,得到组件的空间所有者,与
self.spaceOwners相同
我们这样写,一样也可以得到当前版本的信息,和之前的结果是一样的
在这一节,介绍了简单组件的调用方式,下一节,将介绍下ZK的树形结构
相关文章推荐
- java开发框架_ZK使用笔记一
- 使用了iframe框架,而且iframe里面嵌套的frame框架 ,弹出框出现zDialog.js中的“topWin.Dialog._Array为空或不是对象”。(开发笔记3)
- WEB开发技术框架利器之一 -- Beetl使用笔记
- Hibernate学习笔记一 使用idea开发工具搭建框架
- 【开源java游戏框架libgdx专题】-13-开发工具-地图的使用
- 第58课:使用Java和Scala在IDE中开发DataFrame实战学习笔记
- VueJs开发笔记—IDE选择和优化、框架特性、数据调用、路由选项及使用
- 我的Java开发学习之旅------>Java使用Fork/Join框架来并行执行任务
- Java基础知识强化之集合框架笔记19:List集合迭代器使用之 并发修改异常的产生原因 以及 解决方案
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- java web开发为什么要使用框架
- Java开发工具使用及其快捷键和常见对象+JAVA学习笔记-DAY11
- 使用java 开发服务器的整体框架
- 从零开始写javaweb框架笔记11-搭建轻量级JAVAWEB框架-搭建开发环境
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- JFinal极速开发框架使用笔记(二) 两个问题,一个发现
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- 【慕课笔记】第一章 JAVA初体验 第4节 使用Eclipse开发java程序
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- Java开发IDE工具Eclipse使用笔记