以下是 apache wicket 的一些功能:
POJO 组件模型
Wicket 中的页面和组件是支持封装、继承和事件的真实 Java 对象。
易于开发
因为 Wicket 是 Java 和 HTML,所以您可以利用您对 Java 的了解或您最喜欢的 HTML 编辑器来编写 Wicket 应用程序。
关注点分离
Wicket 不会将标记与 Java 代码混合,也不会向标记文件添加特殊语法。 HTML 和 Java 的世界是平行的,并且仅通过 Wicket id 相关联,Wicket id 是 HTML 中的属性和 Java 中的组件属性。由于 Wicket HTML 只是 HTML,而 Wicket Java 也只是 Java,因此编码人员和设计人员可以在很大程度上独立工作,而无需依赖任何特殊工具。
安全
Wicket 默认是安全的。 URL 不会暴露敏感信息,并且所有组件路径都是会话相关的。必须采取明确的步骤在会话之间共享信息。此外,URL 加密允许高度安全的网站。
透明、可扩展的集群支持
所有 Wicket 应用程序都将自动在集群上运行,无需额外工作。一旦了解了瓶颈,Wicket 就可以调整页面状态复制。下一版本的 Wicket 将支持客户端模型以实现零状态可扩展性。
透明后退按钮支持
Wicket 支持可配置的页面版本管理。当用户从浏览器中的后退按钮访问的页面提交表单或点击链接时,Wicket 能够将页面对象恢复到页面最初呈现时的状态。这意味着您可以编写支持后退按钮的 Web 应用程序,而且工作量很少。
多标签和多窗口支持
Wicket 提供了一种简单的方法来编写支持多窗口和多标签使用的应用程序,允许开发人员在用户打开新的浏览器窗口或标签时做出正确的反应
可重用组件
Wicket 中的可重用组件特别容易创建。您不仅可以使用 Java extends 关键字扩展现有组件,还可以创建将一组组件关联为可重用单元的 Panel 组件。
简单、灵活、可本地化的表单验证
在 Wicket 中编写和使用验证器很简单。自定义和本地化验证错误消息的显示和内容也很容易。
类型安全会话
Wicket 消除了手动管理 HttpSession 属性的需要。页面和组件对象透明地存储在会话中,您的应用程序也可以创建具有类型安全属性的自定义会话子类。会话中存储的所有对象都可以自动参与集群复制。
工厂可定制
Wicket 具有很强的可扩展性。大多数操作都可以通过工厂或工厂方法自定义。
可拆卸模型
Wicket 中的模型对象在集群中的内存和网络使用方面非常轻量级。使用模型时,它可以“附加”,用来自持久存储的信息填充自己。当模型不再使用时,可以重置瞬态信息,减小对象的大小。
边框组件
Wicket Border 组件能够以可重用的方式装饰页面。这对于继承常见的导航结构或布局特别有用。
支持所有基本 HTML 功能
Wicket 支持图像标签、链接、表单以及您在 Web 应用程序开发中习惯使用的所有其他内容。
属性的编程操作
Wicket 组件可以以编程方式更改任何 HTML 标记属性。
自动转换
表单验证后,可以使用 Wicket 转换器更新模型。大多数普通转换都是内置的,很容易编写新的转换器。
动态图像
Wicket 使图像的使用、共享和生成变得非常容易。只需实现一个绘制方法即可创建动态图像。
可分页列表视图
Wicket 中的ListViews 非常强大。您可以在 ListView 行中嵌套任何类型的组件,甚至是其他 ListView。 PageableListView 支持大型列表的导航链接。
树组件
用于导航和选择节点的开箱即用的树组件。
本地化
HTML 页面、图像和资源字符串都可以本地化。