Apache Wicket 6 发布,支持 jQuery

  • Kostis Kapelonis
  • 张倍菱

2012 年 10 月 18 日

话题:Java开源Apache语言 & 开发架构

Apache Wicket发布了开源的 6.0.0 版本,以及面向 Java web 应用程序框架的组件。这个版本号让人有点困惑,因为上次发布的是 1.5,在使用中,Wicket 只是在语义版本上有了一些提升。版本号中的第一位代表公共 API 上的变化大小,中间位的数字代表在功能上向下兼容的情况,最后一位数字代表补丁或 bug 的修复情况。

声明中描述了大部分的变化,更多的细节可查阅迁移指南。值得一提的是,虽然上一个版本花了两年多来研发,但 6.0.0 版本的发布则不到一年的时间内发布。这可能预示着 Wicket 在未来会加快发布的频率。

此次发布的 Wicket 版本中的重要变化如下:

在 Wicket 6.0 版本以前,都是通过定制代码来支持 AJAX(wicket-ajax.js 和 wicket-event.js),这导致在解决浏览器兼容性上一直是个问题。因为 jQuery 在跨浏览器的 JavaScript 脚本中已经有了良好的表现,Wicket 团队决定用 jQuery 库替换此功能。这意味着 Wicket 代码现在可以专注于实际的业务逻辑,而不是解决当前 Web 浏览器层面的问题。注意 jQuery 只是当前 Wicket 公共 API 的一种实现。理论上来讲,同样可用另外的 JavaScript 库重新实现相同的 API。

接下来的改进是将 Javascript 事件与页面中的 web 元素绑定。此前,JavaScript 事件是直接写到 onclick 或 onsubmit 属性中。这种方法并不理想,因为他们不能被其它事件监听器取消。现在所有回调函数都被注册为 DOM 事件,因为 DOM 事件支持更灵活的配置。

Wicket 1.4 至少需要 Java 5 支持。Wicket 1.5 需要额外的 servlet 容器来支持 2.5 版本的 servlet-api 规范。相对于目前的 Wicket 来说则最低需要 Java 6 支持,使用 Wicket 6 或许也可促使大家升级自己的 Java 版本。

IDataProvider 中的 iterator 方法以及其他持久化方法中,参数类型由以前的 int 替换为 long,以此来提供对大数值的支持。

修改了几个包的名字以满足 Wicket 在 OSGI 容器里的使用。这是名称更改的清单。Wicket 资源现在支持从其他资源进行依赖。以前每个资源管理各自的依赖,而现在则将权限上交至 Wicket 本身。为了在他们之间传递引用,依赖关系需按正确的顺序解析。最后,这个版本的 Wicket 提供了Websockets的实验性支持(这意味着 API 并不稳定)。

欲了解更多信息,请访问Wiki参考文档,以及Javadocs。如有 bug 和问题可以在Wicket 问题跟踪器上提出。

查看英文原文Apache Wicket 6 Released With Integrated jQuery Support


感谢贾国清对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

Java开源Apache语言 & 开发架构