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页的整合还没有研究出来,希望有过这方面开发经验的大虾指点一二,可以用邮箱和我联系。