WebObjects/Web 应用程序/开发/无状态组件
外观
在您的 WOComponent 中实现 isStateless,您将能够自行管理状态
public boolean isStateless() { return true; }
在 Practical WebObjects 中有一些关于无状态和非同步组件的相当好的信息。简而言之,您需要使用 valueForBinding/setValueForBinding 来访问绑定值,并实现一个公共 void reset() 方法,该方法将所有实例变量置空。这通常需要更改组件的设计。
有时对于无状态组件,您需要在三个阶段之间保留变量值,从 takeValueFromRequest 一直到 appendToResponse。由于无状态组件中的 ivars 无法处理这种情况(reset() 将在每个阶段后被调用),因此您必须将信息存储在某个地方。只需使用 context.userInfo 字典,并将任何值放入其中。顾名思义,该值仅对本次请求有效。