Apache Wicket开源Java框架的新版本8包含Java 8 ,包括类型。 但是,仅在框架的某些部分中支持使用lambda表达式(Java 8的字幕功能)。
从版本8开始,服务器端,面向组件的Wicket Web框架支持Java 8惯用语,并将Java 8的惯用语和类型应用于Wicket API。 它还具有用于处理Java 8中日期的新类型,可以将其转换并绑定到组件。
Wicket的开发人员出于性能和内存使用方面的考虑,决定不支持API中的lambda。 因此,子类化仍然是Wicket组件的主要扩展机制。 Apache软件基金会Apache Wicket副总裁Martijn Dashorst说,典型的Wicket应用程序在任何给定时间都有许多内存组件,而对lambda的引用将大大增加该内存占用量。
但是Wicket 8确实为模型和行为的形式提供了lambda的工厂。 Wicket中的工厂是一种用于创建对象的设计模式,从而启用Wicket特定的功能。 此外,根接口模型已成为功能接口; 模型是框架中的数据绑定方法。 结果,开发人员可以在使用模型的地方使用lambda。
Wicket 8中的LambdaModel
类型为组件启用类型安全和重构安全的数据绑定。 以前,数据将通过PropertyModel
通过使用字符串表达式确定要显示的属性绑定到组件。 LambdaModel
可以使IDE轻松执行重构。
Wicket 8的其他功能包括:
您可以从项目网站的镜像下载Wicket 8 。