开始使用 wicket

Wicket 是一个基于组件的框架,它与早期的一些有时单调的 Web 编程任务的解决方案形成鲜明对比。与其他框架一样,Wicket 构建在 Sun 的 servlet API 之上。

但是,与 Struts 或 Spring MVC 等框架不同,使用 Wicket 的开发人员大部分都是从 Web 和 Servlet 固有的请求/响应性质中删除的。Wicket 开发人员不仅要构建必须同时为许多用户和线程提供服务的控制器,接收请求,返回响应,而且不存储任何状态,而是根据有状态组件进行思考。他或她创建一个页面,在其上放置组件,并定义每个组件对用户输入的反应,而不是创建控制器或操作类。

Wicket 使用普通的 XHTML 进行模板化。每个组件都绑定到 XHTML 中的命名元素,并负责在最终输出中呈现该元素。该页面只是顶级包含组件,并且只与一个 XHTML 模板配对。

每个组件都有自己的模型支持,该模型表示组件的状态。该框架不了解组件如何与其模型交互,这些模型被视为在请求之间自动序列化和持久化的不透明对象。然而,更复杂的模型可以是可拆卸的,并提供钩子以在每个请求周期的开始和结束时安排它们自己的存储和恢复。

在 Wicket 中,所有服务器端状态都是自动管理的。你永远不应该直接使用 HttpSession 对象或类似的包装器来存储状态。相反,state 与组件相关联。每个服务器端页面组件都包含一个有状态组件的嵌套层次结构,其中每个组件的模型最终都是一个 POJO(Plain Old Java Object)。