ajax框架之zk实例收藏

 ajax框架之zk实例收藏

<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script> 前 一段在网上看查找资料,无意间发现了一个 ajax框架的在线demo,被其华美的外表及简洁的代码风格所吸引,就开始了zk学习之路,经过两天的研究,发现这个框架确实不错,特别是它提供的例 子,基本实现了所有web开发的需要,它还对google map进行了封装,使其使用更加容易,不过,经这两天的学习,发现它的学习资料不是太多,找好长时间也找不到多少有用的,只好研究它自带的demo了,呵 呵,一段时间的研究,终于写出了一个小实例,现在提供出来,希望能对大家有帮助。该实例在 eclipse3.2+myeclipse+tomcat5.5+jdk5.0上运行成功。 欢迎转载,有问题请联系我:[email protected] 首先,为了让大家对其有一个感性的认识,就先去看看它的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页的整合还没有研究出来,希望有过这方面开发经验的大虾指点一二,可以用邮箱和我联系。

你可能感兴趣的:(Ajax,框架,Web,servlet,zk)