跳转至内容

WebObjects/Web 应用程序/开发/无状态组件

来自维基教科书,开放世界中的开放书籍

在您的 WOComponent 中实现 isStateless,您将能够自行管理状态

 public boolean isStateless() {
   return true;
 } 

Chuck Hill

[编辑 | 编辑源代码]

Practical WebObjects 中有一些关于无状态和非同步组件的相当不错的资料。简而言之,您需要使用 valueForBinding/setValueForBinding 来访问绑定的值,并实现一个公开的 void reset() 方法来将所有实例变量置空。这通常需要您对组件进行设计更改。

Jean-François Veillette

[编辑 | 编辑源代码]

有时对于无状态组件,您需要在三个阶段之间保留变量值,从 takeValueFromRequest 一直持续到 appendToResponse。由于无状态组件中的 ivar 无法处理这种情况(reset() 将在每个阶段后被调用),您必须将信息存储在某个地方。只需使用 context.userInfo 字典,并将任何值放在其中。顾名思义,该值只对这次请求有效。

华夏公益教科书