Wicket 团队已经宣布了 Wicket 1.3.1 发行版,这是 Wicket 1.3 的第一个维护版。Wicket 框架从 1.2 版到 1.3 版发生了很多变化。以下内容来自最初的 1.3 发行版公告:
- 最后一个兼容 JDK-1.4 的 Wicket 版本(下一版将基于 Java 5)
- 第一个 Apache 发行版:将包重命名为 org.apache.wicket
- 简化一些核心 API
- 使用相对 URL,无需配置即可在代理服务器后工作
- 增加 Google Guice 支持
- 不用修改一行代码,就可直接在一个 portal 中使用你的 Wicket 页面(支持 JSR-168/JSR-286)
- 将日志 API 从 commons-logging 切换到 slf4j
- 集成 velocity 模板作为你页面中的 panel
- 基于 YUI-calendar 和 Joda time 的 date picker(wicket-datetime)
- 使用 Ajax 请求增加新的 javascript 依赖到 page header——例如,如果一个组件在客户端经由 Ajax 而被替换,替换所需的 script.aculo.us、 script.aculo.us 和其他依赖将会在需要的时候被下载。
- 改进的、更健壮的 header 捐献品
- 使用无状态页面和组件,可以扩展到非常大规模的用户数
- 改进的 AjaxTree/AjaxTreeTable
- 混合的 URL 编码可以让搜索引擎和你的用户都满意
- 创建 form panel 并可到处使用它们,无需担心 form 标签的嵌套
- 把组件层级结构存储到文件系统中(DiskPageStore),尽量减少 session 的使用
注意,尽管 Wicket 的 1.3 分支还是 JDK-1.4 兼容的,随 1.3 发行的许多特性只有在 Java 5 中才能使用,这完全是由其本质所决定的。这些特性包括 Google Guice 支持和 Spring 注解支持(这两者都依赖于 Java 5 注解),以及 Wicket JMX bean(需要 Java 5 JMX 管理工具)。从最初的 Wicket 1.3 版发布到 Wicket 1.3.1 可以使用,时间刚刚过去一个来月,尽管这次发布的主要是维护版本,它也提供了一些增强的功能和特性:
这一版本扫除了许多 bug,实施了一些改进。最值得注意的改进是增加的开箱即用的特性——透明集群支持( WICKET-1272 )。
1.3.1 中增加的透明集群支持利用了在 1.3 版所增加的 DiskPageStore 特性,最初的实现由 Matej Knopp在Wicket 用户邮件列表上作了详细描述。摘录如下:> 当一个页面实例从NodeA 复制到NodeB 时,它立即被存储到NodeB 上的 DiskPageStore中,而不是保持在 session 中。这意味着该实例在 NodeB 上稍后即可被访问,即使之后有另一个页面以同样的方式被复制到 NodeB——因为它已经被保存在DiskPageStore里了。而且它也不需要保存在内存中,显著地减少了 session 状态。
1.3.1 中其它问题修复和改进的完整列表可以从这里获得。对于那些希望迁移到 1.3.1 上的 Wicket 1.2 用户,有一个迁移文档可供使用,其中详细说明了各个 API 和功能变化。伴随着迁移到新的“apache”包结构,基于 1.2 的应用程序可能要做许多核心变化。以下只是一些示例:
- IModel 的“getObject”和“setObject”方法的契约不再接受“Component”作为参数。
- 由于许可证冲突,Wicket 1.2 的扩展项目所提供的 DatePicker 实现将不再可用。Wicket 团队已经提供了基于 YUI(Yahoo UI)日历控件的替代品。
- 校验 API 现在从 form API 中剥离出来,以便单独使用。
- Wicket 团队推荐将 ServletFilter 用作初始化,而不是 1.2 里所使用的 WicketServlet。
Wicket 项目可从 Apache Wicket Site 上获得。至于文档则可访问 Wiki 、 Reference documentation 、以及 Javadocs 。最后,问题可被报告到 Wicket issue tracker 上。查看英文原文: Apache Wicket 1.3.1 Release Supports Transparent Clustering
评论