Apache Wicket 6发布,支持jQuery

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

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

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

  • 内置支持时下流行的jQuery JavaScript 库
  • 用JavaScript事件来绑定注册,而不是使用HTML的内联属性
  • 要求最低Java 6的支持
  • 更好的符合JPA
  • 包重组使之更好支持OSGI
  • 可在Wicket资源间定义依赖。
  • 开始对websockets提供试验性支持,同时集成Twitter Bootstrap
  • AJAX功能、错误信息反馈、表单验证等几个方面有所提高

在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中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(Apache Wicket 6发布,支持jQuery)