WebWork 2 : 组件
This page last changed on Jun 18, 2004 by plightbo.
综述WebWork建立在XWork的组件实现之上, 提供组件对象的生命周期管理并使组件在需要时可以用于活动类(或其他任何用户代码中).WebWork中有两种类型的类可以使用enabler接口实现反转控制: 活动和组件. 为了让活动类拥有它自己的组件集合, 必须使用ComponentInterceptor为活动设置资源. 同样的, 如果这些组件需要初始化并使用其他组件, 这些初始化活动将在ComponentInterceptor截取活动的时候进行. 范围(Scope)和生命周期在WebWork中组件可以被配置成存在于三个范围中:
WebWork 延迟加载(lazy load)组件, 这意味着无论哪一范围的组件, 都在使用是开始初始化并在范围的生命周期结束时销毁. 也就是说, 一个application范围的组件, for example, 将在第一个实现组件的Enabler接口的活动的用户请求时初始化, 并在应用结束时被销毁.组件可以依赖于其他组件, 但不能依赖于更小范围的组件. 因此, 一个session范围的组件不能依赖于一个请求范围的组件. 所有组件必需注册在components.xml中, 对该文件的描述在"配置"一节中. 获取ComponentManager每一次请求时都存在三个组件管理器, 每个范围一个. 他们作为一个属性"DefaultComponentManager"存在于他们代表的范围对象中. 因此, 如果你需要一个request范围的ComponentManager对象, 使用下面的代码: ComponentManager cm = (ComponentManager) request.getAttribute("DefaultComponentManager");
|
Document generated by Confluence on Dec 14, 2004 16:36 |