又一个AJAX框架-----不需要JS的AJAX,体验ZKoss

第一个工程终于算开发结束了,爽阿。下一个工程即将开始,换了个AJAX框架,ZKoss,第一次听说,那也没办法。学吧。
据说是不需要写js的AJAX框架。官方网站:
[url]http://www.zkoss.org[/url]
下载开发包,开始第一个demo吧!没别的Hello World!
官网上有详细的教程,很简单,就当是简单翻译吧。
[url]http://www.zkoss.org/doc/installzk.dsp[/url]

首先在tomcat的webapp下建立个工程,目录结构就不说了吧。
修改web.xml文件,添加如下内容

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

<!--******添加的内容*******-->
<listener>
<description>Used to clean up when a session is destroyed</description>
<display-name>ZK Session Cleaner</display-name>
<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
</listener>

<servlet>
<description>ZK loader for ZUML pages</description>
<servlet-name>zkLoader</servlet-name>
<servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
<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>
<!--******添加的内容*******-->

</web-app>

添加了两个servlet一个listener。然后在将开发包里面,lib文件夹下面的所有jar拷贝到WEB-INF中。接着,创建一个文件,以zul结尾。

<window title="Hello" border="normal">
Hello World!
</window>

然后像访问一般页面那样访问就搞定了。效果还不错。 :D

[img]/upload/attachment/49080/661f0801-06a1-3007-8e0c-bb7e1bde5d4d.png[/img]

在jar包里看到了ext的字样,不知道是不是调用了extjs的包,看样子和extjs效果差不多,不管了,能显示就好。

在ZK里面,一个xml标签表示要创建一个组件。这里是创建一个window组件,设置title和border,是不是很有Swing的味道!接着显示一个内容。内容是一个Label,所以你可以这么写。

<window title="Hello" border="normal">
<label value="Hello World!"/>
</window>

Hello World就搞定了!

下面看个按钮。很简单,加个按钮标签就行了。

<window title="Hello" border="normal">
<label value="Hello World!"/>
<button label="Say Hello" onClick="alert("Hello World!");"/>
</window>

从这个代码可以看出,这种标签也是支持类似这种js功能的属性,但是并不是调的js,而是ZK自己的类,org.zkoss.zul.Messagebox.也可以这么写,Messagebox.show("Hello World!")。看你喜欢哪种了。
这里的两个@quot ;是不能少的。而且只能用@quot ;,可以修改看看会出现什么错误。

看下效果,也很不错。

[img]/upload/attachment/49095/b14859ad-3f46-364f-b713-097efb0fa436.png[/img]

这是ZK中文手册上的三个注意
1. 嵌入到 ZUML 页面的脚本可以用不同的语言编写,包括但不限于 Java,
JavaScript, Ruby and Groovy。此外,它们是运行在服务器上的。
2. 在运行时刻,ZK 使用 BeanShell 解释 Java,所以你可以声明全局函数,例如
alert。同样 它为大部分的脚本语言提供了一个简单的方式来定义全局函数,
有时甚至是类。
3. 在 ZUML 页面嵌入脚本语言前,所有 java.lang, java.util,
org.zkoss.zk.ui, org.zkoss.zk.ui.event 和
org.zkoss.zul 包中的类都已经被引入。

好了,入门程序搞定了,看demo去。看语法真是枯燥的事情,还是看demo比较舒服 :D 给个ZK中文手册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值