关于ZK这个框架,国内使用的用户应该比较少,国内的资料也相当的少,但是在国外,这个东西已经很多人在使用了,以前也没怎么接触过,最近开始使用ZK来做开发,发现这东西在使用的时候,还蛮有意思的,所以准备记下使用日志,留给以后回顾和大家分享
首先需要知道ZK是一个什么东西,这个框架是我国台湾的朋友开发的,他是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架。ZK包括一个基于AJAX事件驱动的引擎(engine),一套丰富的XUL和XHTML,以及一种被称为ZUML(ZK User Interface Markup Language,ZK用户界面标记语言)的标记语言
要使用ZK,需要下载ZK提供的一些基础jar包和ZK开发团队提供了一个基于eclipse做的一个开发插件zk studio,当然最好下个demo,上面有一些例子可以很直观的看到zk实现的效果
在这里下载:http://www.zkoss.org/,最新版本有2个,一个是3.6,一个是5.0,其中5.0是一个商业版本,而3.6是开源的,我在项目里使用的是3.6版本
下载完之后,把zk studio里面的东西直接复制到eclipse文件夹下面,然后打开eclipse,在新建项目里面就可以找到zk project了,当然,也可以自己建java的web项目,然后把下载好的zk的bin包里面的jar文件全部放到项目下面.
在项目里面的WebContent下面找到index.zul,如果没有,就在WebContent下面建立一个(注意,zk把代码和视图做了分离,这样在开发和以后维护的时候,代码更清晰,zul文件相当于我们使用的jsp文件,而zs文件相当于我们的java文件,如果没有下载zk studio的话,打开方式按照他们相对的文件类型打开,ps:他这种拆分法和C#有点类似,如果学过C#的话,应该很好理解)
index.zul里面的代码如下
<?page title="Auto Generated index.zul"?>
<window title="Hello World!!" border="normal" width="200px">
<label value="You are using: ${desktop.webApp.version}"/>
</window>
我们来一行一行的分析
<?page title="Auto Generated index.zul"?>
ZK是以事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架
page是一系列组件的集合,一个页面限制属于它的组件,这样它们会被展示在浏览器的特定部分。一个页面被自动创建当ZK 加载器(ZK loader)解释完一个ZUML页面时。里面的属性 title 表示页面的标题,这个标题将被作为浏览器窗口标题(window caption)的一部分.
<window title="Hello World!!" bor
最近在工作中,经常设计报表(ireport+jasperReport)反复和设计模板xml打交道,于是就有了写这篇文章的想法了。java操作xml主要是有四种方式:dom,sax,jdom,dom4j。这四种方式各有优缺点:(以下比较是来自网络)
1:DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate ......