ZK是一个很优秀的AJAX框架,号称"Ajax framework without javascript",有点像GWT的实现,但是与GWT的完全桌面开发思想不同,它支持用ZUL,一种ZK的界面脚本来写界面,开发效率很高,界面也很漂亮,具体的介绍可以去看看它的主页:http://www.zkoss.org。但是很可惜的是,ZK目前还没有Eclipse的插件,但是利用MyEclipse提供的相关工具,我们可以创建一个差强人意的开发环境出来,本文就对此环境的创建做了具体介绍,本文的环境是JDK6.o+Eclipse3.3+MyEclipse6.0M+ZK2.4.1。
首先,去http://www.zkoss.org下载最新版的ZK,目前是2.4.1,下载开发包以及demo,下载的开发包里有ZK的开发库,以及用到的库,还有一些扩展库,另外就是ZK的源码,其中开发包下的dist目录结构如下所示:
├─lib
│ │ zcommon.jar
│ │ zhtml.jar
│ │ zk.jar
│ │ zkplus.jar
│ │ zul.jar
│ │ zweb.jar
│ │
│ ├─ext
│ │ bsh.jar
│ │ commons-el.jar
│ │ commons-fileupload.jar
│ │ commons-io.jar
│ │ Filters.jar
│ │ groovy.jar
│ │ jcommon.jar
│ │ jfreechart.jar
│ │ jruby.jar
│ │ js.jar
│ │
│ └─zkforge
│ dojoz.jar
│ fckez.jar
│ gmapsz.jar
│ json_simple.jar
│ timelinez.jar
│
├─src
│ zcommon-sources.jar
│ zhtml-sources.jar
│ zk-sources.jar
│ zkplus-sources.jar
│ zul-sources.jar
│ zweb-sources.jar
│
├─WEB-INF
│ └─tld
│ ├─web
│ │ core.dsp.tld
│ │ html.dsp.tld
│ │
│ ├─zk
│ │ core.dsp.tld
│ │
│ └─zul
│ core.dsp.tld
│
└─xsd
zul.xsd
将这个目录下的所有文件都拷贝到一个专门的目录,(我一般喜欢把经常用到的第三方库放在一个专门的文件夹里,并且在eclipse里创建对应的user library),比如我放在d:\EclipseUserlib\ZK下。
第二步,创建用户自定义库。在eclipse里打开window->preferences->java->build path->user libraries,如下图所示:
如上图所示,点击New按钮可以创建一个新的用户库,点击建好的库后,激活Add Jars...按钮,可以添加这个用户库相关的jar包,这里我们创建三个用户库,即ZK Ajax Frame、ZK Ajax Framework Extendsion以及ZK Ajax Framework Forge Library三个,分别对应上面目录结构中的lib、ext以及zkforget。
另外一个小trick,点开jar包前的+号,可以看到有一个source attachment,双击它可以出来一个对话框,让你选源文件所在地,这里选择上面目录下的src文件夹下的对应文件,这样就可以在eclipse里使用代码浏览功能。
第三步,添加xsd到用户xml catalog entry里。这是为了确保我们可以更好的地使用MyEclipse XML Editor的功能。打开window->preferences->MyEclipse->Files and Edtors->XML->XML Catalog,如下图所示:
点击Add,在弹出对话框里添加上面目录中的zul.xml到catalog中。
第四步:添加自己的自定义xml生成wizard。
打开%MyEclipse安装目录%\eclipse\plugins\com.genuitec.eclipse.wizards_5.9.100,其中templates\xml是用来存放xml文件模板的,这里我们需要生成如下几个文件:
LangAddon.vtl
Portlet.vtl
ZK.vtl
ZKWeb.vtl
ZUL.vtl
前四项分别对应zkdemo\WebContent\WEB-INF下的lang-addon.xml、portlet.xml,zk.xml和web.xml,只需要把这些文件拷贝到xml目录下,并且对应修改文件名为上述文件名即可。另外注意:打开每个vtl文件,第一行由“<?xml version="1.0" encoding="UTF-8"?>”修改为“<?xml version="1.0" encoding="$encoding"?>”。
其中ZUL文件的内容如下所示:
然后修改%MyEclipse安装目录%\eclipse\plugins\com.genuitec.eclipse.wizards_5.9.100\templates.xml,在<!-- XML Templates -->后面添加如下内容:
<template
context="com.genuitec.eclipse.wizards.xml"
script="templates/xml/ZKWeb.vtl"
name="XML template for a web.xml file with ZK capability"/>
<template
context="com.genuitec.eclipse.wizards.xml"
script="templates/xml/LangAddon.vtl"
name="XML template for a lang-addon.xml file for ZK"/>
<template
context="com.genuitec.eclipse.wizards.xml"
script="templates/xml/Portlet.vtl"
name="XML template for a port-let.xml file for ZK"/>
<template
context="com.genuitec.eclipse.wizards.xml"
script="templates/xml/ZK.vtl"
name="XML template for a zk.xml file"/>
<template
context="com.genuitec.eclipse.wizards.xml"
script="templates/xml/ZUL.vtl"
name="XML template for a *.zul file"/>
保存后重新打开eclipse。
第五步,添加新的文件类型。打开window->preferences->general-content types,如下图所示:
其中给Java Source File添加*.zs,给XML添加*.zul,给JSP添加*.dsp,给HTML添加*.zhtml。
到此在MyEclipse下我们已经搭建了一个简易但是实用的ZK开发环境。
分享到:
相关推荐
提供的两个文件"利用MyEclipse创建的ZK开发环境开发ZK应用_无心云.mht"和"在MyEclipse里创建ZK的开发环境_无心云.mht"可能是详细教程或步骤指南,包含了具体操作步骤和注意事项,对于初学者来说是非常有价值的参考...
在JDK6.0、Eclipse3.3和MyEclipse6.0M环境下,可以搭建ZK 2.4.1的开发环境。ZK开发包通常包含ZK的开发库、依赖库、扩展库以及源码。例如,开发包下的`dist`目录会包含如`lib`子目录,其中包含如`zcommon.jar`等核心...
ZKStudio是一个专门用于ZK应用开发的集成开发环境(IDE),提供了一套完整工具来辅助开发者完成从UI设计、代码编写到应用部署的整个开发周期。ZKStudio支持在线安装和离线安装两种方式。在线安装较为简单,只需要...
ZK Eclipse插件是专为开发人员设计的一款集成开发环境(IDE)扩展,它使得在Eclipse或MyEclipse中开发ZK应用变得更加便捷。ZK是一个基于组件的Java Web UI框架,它允许开发者创建富客户端应用程序而无需深入...
**二、ZK开发环境搭建** ZK的开发环境主要涉及JAR包的导入和web.xml的配置。首先,需要将ZK的相关JAR包导入到项目的类路径中。然后,在web.xml中添加ZK的Servlet配置,以便服务器能够识别ZK的应用。 **三、常用...
描述中提到,为了在MyEclipse中重现ZK的主界面,你需要创建一个新的Web项目,并将`zk-demo`里的`src`目录下的文件移动到Web项目的`src`目录,同时将`WebContent`内容移至`webroot`。`zk-demo`是一个官方提供的示例...
- ZK开发包:可以从官方网站下载最新的版本。 - ZK Studio:这是一个MyEclipse插件,提供了对ZK文件的实时预览和组件的可视化编辑等功能。 - **具体步骤**: 1. **下载ZK包和Demo**:访问ZK官网,根据操作系统...
【SSH手动搭建与集成Jar包详解】 ...以上就是关于SSH手动搭建、集成jar包以及ZK开发环境搭建和常用功能的详细解释。通过深入理解这些概念和技术,开发者能够更加熟练地运用SSH和ZK进行Web应用开发。