易截截图软件、单文件、免安装、纯绿色、仅160KB

java开发框架_ZK使用笔记二

在上一个文章里,我们把项目建好了,并且已经成功运行,现在来理解下zk事件驱动(event-driven)的,基于组件(component-based)的特点
先来点理论,什么叫做基于组件,维基百科里面这么描述的:基于组件的软件工程(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"


相关文档:

JAVA规范学习——实例创建时的操作

创建一个类的实例时,
1.会为它以及它的所有父类的实例变量分配内存空间,如果分配空间成功,则所有实例变量都会初始化为默认值0、false、null
2.会递归调用父构造函数,但是暂不执行构造函数的语句;
3.对该父构造函数对应的类的实例变量赋值
4.执行父构造函数的其他语句
5.对于子类,执行2-4步骤 ......

java 环境变量的配置

在网上看了好多人,对jdk的环境变量配法不祥,在此小结一下
前提条件:电脑上安装了jdk
步骤:
1)我的电脑/系统属性/高级/环境变量/用户变量/新建
a)变量名:JAVA_HOME
     变量值:E:\Program Files\Java\jdk1.5.0_04(jdk安装路径)
b)变量名:PATH
     变量值:%JA ......

通过JNI 实现 java与C++之间的信息传递

定义一个native 方法:
package ext;
import java.util.Hashtable;
public class TestJNI
{
   static
   {
       System.loadLibrary("dllfile");
   }
    public TestJNI()
    {
    ......

Java程序员使用Grails的十大优势




document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text&qu ......

java BufferedReader和InputStreamReader的区别

BufferedReader:  
  Read   text   from   a   character-input  
stream,   buffering   characters   so   as   to   provide   for   the  
efficient   reading   of   characters,   arrays,   and ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号