ajax框架之zk实例

前一段在网上看查找资料,无意间发现了一个 ajax框架的在线demo,被其华美的外表及简洁的代码风格所吸引,就开始了zk学习之路,经过两天的研究,发现这个框架确实不错,特别是它提供的例子,基本实现了所有web开发的需要,它还对google map进行了封装,使其使用更加容易,不过,经这两天的学习,发现它的学习资料不是太多,找好长时间也找不到多少有用的,只好研究它自带的demo了,呵呵,一段时间的研究,终于写出了一个小实例,现在提供出来,希望能对大家有帮助。该实例在eclipse3.2+myeclipse+tomcat5.5+jdk5.0上运行成功。
欢迎转载,有问题请联系我:txyhl@126.com
首先,为了让大家对其有一个感性的认识,就先去看看它的demo,相信你也会被它华美的外表所吸引
demo: http://www.potix.com/zkdemo/userguide/
OK,ZK学习之路开始了。
当然,要先去下载ZK,推荐网站:http://www.zkoss.org
需要下载 :zk-2.3.0.zip,现在的最高版本
如果有兴趣,也可以下载
zk-demo-2.3.0.zip,里面有它的各种应用示例。
新建一个WEB工程,工程名为:zktest
然后将zk-2.3.0/dist/lib,zk-2.3.0/dist/lib/ext,zk-2.3.0/dist/lib/zkforge目录下面的jar包引入到工程中(怎么引入我不用说了吧)
然后就开始写程序了......
web.xml
<? xml version="1.0" encoding="UTF-8" ?>
< web-app  version ="2.4"  
    xmlns
="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
    
< listener >
        
< description > Used to cleanup when a session is destroyed </ description >
        
< display-name > ZK Session Cleaner </ display-name >
        
< listener-class > org.zkoss.zk.ui.http.HttpSessionListener </ listener-class >
    
</ listener >
    
< filter >
      
< filter-name > zkFilter </ filter-name >
      
< filter-class > org.zkoss.zk.ui.http.DHtmlLayoutFilter </ filter-class >
      
< init-param >
        
< param-name > extension </ param-name >
        
< param-value > html </ param-value >   <!--  Use XHTML components as default.  -->
      
</ init-param >
    
</ filter >
    
< filter-mapping >
      
< filter-name > zkFilter </ filter-name >
      
< url-pattern > *.jsp </ url-pattern >
      
< dispatcher > REQUEST </ dispatcher >
      
< dispatcher > INCLUDE </ dispatcher >
      
< dispatcher > FORWARD </ dispatcher >
      
< dispatcher > ERROR </ dispatcher >
    
</ filter-mapping >
    
< servlet >
        
< description > ZK loader for ZUML pages </ description >
        
< servlet-name > zkLoader </ servlet-name >
        
< servlet-class > org.zkoss.zk.ui.http.DHtmlLayoutServlet </ servlet-class >
        
<!--  Must. Specifies URI of the update engine (DHtmlUpdateServlet).
        It must be the same as <url-pattern> for the update engine.
        
-->
        
< init-param >
            
< param-name > update-uri </ param-name >
            
< param-value > /zkau </ param-value >
        
</ init-param >
        
< load-on-startup > 1 </ load-on-startup >
    
</ servlet >
    
< servlet-mapping >
        
< servlet-name > zkLoader </ servlet-name >
        
< url-pattern > *.zul </ url-pattern >
    
</ servlet-mapping >
    
< servlet-mapping >
        
< servlet-name > zkLoader </ servlet-name >
        
< url-pattern > *.zhtml </ url-pattern >
    
</ servlet-mapping >
    
< servlet >
        
< description > The asynchronous update engine for ZK </ description >
        
< servlet-name > auEngine </ servlet-name >
        
< servlet-class > org.zkoss.zk.au.http.DHtmlUpdateServlet </ servlet-class >
    
</ servlet >

    
< servlet-mapping >
        
< servlet-name > auEngine </ servlet-name >
        
< url-pattern > /zkau/* </ url-pattern >
    
</ servlet-mapping >
    
<!--    -->

    
<!--  ///  -->
    
<!--  Miscellaneous  -->
    
< session-config >
        
< session-timeout > 120 </ session-timeout >
    
</ session-config >
    
    
< welcome-file-list >
        
< welcome-file > index.zul </ welcome-file >
    
</ welcome-file-list >
</ web-app >

index.zul(该文件同web-inf同一级目录)
< window  title ="yhltest demo"  border ="normal" >
    
< zscript > {
        //引入Test类
        import test.*;
        void submit() {
            Test test = new Test();
             //调用Test类的方法getTestStr,并将返回值赋给mylabel
            mylabel.value=test.getTestStr(text1.value);    
        }
    }
</ zscript >
    
< grid >
    
< rows >
        
< row >< label  id ="mylabel"  value ="test" /></ row >
       //输入1 或 2
         < row > input(1or2)  < textbox  id ="text1" /></ row >
       //提交,调用函数submit
         < row >< button  label ="submit"  onClick ="submit()" /></ row >
    
</ rows >
    
</ grid >
</ window >

如果有一点web开发功底,想信上边的代码并不难理解。

Test.java(该文件位于test包下面)
package  test;

public   class  Test {
    
public  String getTestStr(String flag)
    {
        
if (flag.equals( " 1 " ))
        {
            
return   this .getTestStr1();
        }
else   if (flag.equals( " 2 " ))
        {
            
return   this .getTestStr2();
        }
else
        {
            
return   " 请输入正确的参数 " ;
        }
    }
    
public  String getTestStr1()
    {
        
return   " 调用类Test的getTestStr1方法 " ;
    }
    
public  String getTestStr2()
    {
        
return   " 调用类Test的getTestStr2方法 " ;
    }
}

编写工作到此完成。
将其发布到tomcat下面,然后在浏览器中输入:http://localhost:8080/zktest/即可测试该功能。
现在jsp和zk页的整合还没有研究出来,希望有过这方面开发经验的大虾指点一二,可以用邮箱和我联系。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值