`
jayjayjays
  • 浏览: 208941 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在WebWork中使用组件(转载)

    博客分类:
  • java
阅读更多
 

WebWork中使用组件<!----><o:p></o:p>

WebWork建立在Xwork的组件实现基础上,提供组件对象的生命周期管理,使得这些组件对Action类有效。<o:p></o:p>

WebWork中有两种类型的类可以使用enabler接口:Action和组件。要使Action能够设置它所需要的组件,必须使ComponentInterceptor有效;对于组件需要使用其它组件,也是一样的。<o:p></o:p>

1)生命周期范围<o:p></o:p>

WebWork中,组件可以被配置为三种范围:<o:p></o:p>

l         单个请求(request<o:p></o:p>

l         用户会话(session<o:p></o:p>

l         整个应用程序(application<o:p></o:p>

WebWork是滞后加载组件的。也就是说,不管是哪种范围,组件在使用时才初始化,在指定范围的生命周期结束时销毁。例如应用程序范围的组件,在用户第一次请求实现该组件的enabler接口的Action时才初始化,在应用程序结束时才销毁。<o:p></o:p>

既然允许一个组件依赖于另外一个组件,因此组件不能够依赖于比它范围小的组件。例如用户会话范围的组件不能够依赖于请求范围的组件。<o:p></o:p>

另外,所有的组件必须在components.xml注册(参见后的配置章节)。<o:p></o:p>

2)获得ComponentManager<o:p></o:p>

在任何请求时,有三个ComponentManager实例存在,对应于每种范围。实例保存在对应范围的名为DefaultComponentManager的属性中。下面是获取具有请求范围的ComponentManager的例子:<o:p></o:p>

ComponentManager cm = (ComponentManager) request.getAttribute("DefaultComponentManager");<o:p></o:p>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics