Posted on 2007-06-06 16:38
Tommy Jian 阅读(1342)
评论(4) 编辑 收藏 所属分类:
Wicket
与Swing类似的面向对象组件模型
Wicket中的页面及其他组件都是支持封装、继承和事件触发的Java对象。
易于开发
因为Wicket合成了Java和HTML,在使用Wicket开发应用的过程中,您可以最大限度地发挥您所掌握的Java知识,而且可以最大限度地发挥您最喜欢的HTML编辑器在开发过程中的作用。
关注点的分离
Wicket并没有将标签(比如HTML的相关标签)与Java代码混合,而且也没有在标签文件中增添任何特殊的语法。HTML和Java 的领域是不互相干扰的,它们只是通过Wicket Id来关联,Wikcet Id在HTML中表现为标签的属性,在Java代码中则表现为组件的属性。因为Wicket中的HTML文件是纯粹的HTML文件,Wicket中的Java代码是纯粹的Java代码,编程者和设计者可以最大程度地独立完成工作,而不需要依赖于任何特定的工具。
安全
Wicket在默认设置的条件下是安全的。URL不对外公布任何敏感信息,而且所有组件的路径都是相对于会话周期的,脱离了会话周期这些路径将变得无效。如果需要在会话周期间共享信息,则必须做一些特殊的工作才能达到。在下一个版本的 Wicket中,有计划将URL加密功能添加到框架中去以此来支持符合要求更高的安全特性。
透明的且具备伸缩性的集群支持
所有基于Wicket的应用不需要额外的设置就可以自动支持集群。一旦系统的瓶颈经评估被发现,那么Wicket将启动页面状态的复制。Wicket的下一个版本将对具备零状态伸缩性的客户端模型提供支持。
显式的“后退按钮”问题支持
Wicket支持可配置的页面版本管理。当用户提交一个表单,而后使用浏览器的后退按钮来回到以前访问过的页面时,Wicket 可以将页面对象的状态恢复过来,并且将页面以原来的面貌呈现出来。这就意味着您只需要花一点功夫就可以构建出支持“ 后退按钮”的应用。
可复用的组件
在Wicket中,构建可复用的组件十分的简单。您不仅可以使用Java中的关键字extends来从现有的组件继承而构建新的组件,而且可以使用Panel组件来组织一批组件来构建可复用的组件单元。简单且灵活的、支持本地化的表单校验在Wikcet中编写和使用校验器也是十分的简单。而且校验错误消息的定义和本地化也是十分简单的工作。
类型安全的会话周期
Wicket消除了手动管理HttpSession属性的需求。页面和组件对象被显式地存储在会话周期中,您的应用也可以构建属性类型安全的会话周期的子类。存储在会话周期中的所有对象可以自动地发布到集群中。
可自定义的工厂类
Wicket非常具有扩展性。许多操作可以通过工厂类或者工厂方法来实现自定义。
可分离的模型
Wicket中的模型对象在集群系统中的内存和网络占用可以说是轻量级的。当一个模型正在被使用时,它将被装载,主要通过从存储单元来获得数据并激活模型。当这个模型对象已经不再被使用时,临时信息可以被重置,这样就可以消减对象占用的内存数量。
边框组件
Wicket的边框组件可以使得页面的装饰符合可重用的规则。这对一般的导航结构和布局显得十分的有用。
对HTML所有的基本特性提供支持
Wicket支持图像标签、链接、表单以及其他一切您在Web应用开发中可以用到的特性。
对属性的可编程操作。
Wicket组件可以使用编程的方式来修改任何HTML标签的属性。
自动的转换
一旦表单校验完成,模型可以使用Wicket的转换器来完成更新。大部分的转换器都是系统自带的,而编写新的转换器也是很简单的事情。
动态的图像
Wikcet使得图像的使用、共享和生成十分的简单。动态图像可以简单地通过实现绘制(paint)方法来建立。
可分页的ListView
Wicket中的ListView十分的强大。您可以将任何组件嵌入到ListView组件的行中,甚至将ListView进行循环嵌套也可以。 PageableListView支持大型数据列表的分页导航。
树形组件
具备导航和结点选择的树形组件。
本地化
HTML页面、图形和字符串都可以实现本地化。
示例
Wicket有展示其各项功能的数量巨大的例子。