jasmine214--love

只有当你的内心总是充满快乐、美好的愿望和宁静时,你才能拥有强壮的体魄和明朗、快乐或者宁静的面容。
posts - 731, comments - 60, trackbacks - 0, articles - 0

ajax框架之 zk -demo1

Posted on 2010-07-07 19:32 幻海蓝梦 阅读(926) 评论(0)  编辑  收藏 所属分类: Ajax 网管--拓扑图
原文:http://blog.csdn.net/txyhl/archive/2007/04/24/1577295.aspx
前一段在网上看查找资料,无意间发现了一个 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页的整合还没有研究出来,希望有过这方面开发经验的大虾指点一二,可以用邮箱和我联系。

只有注册用户登录后才能发表评论。


网站导航: