跳转到内容

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

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

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

 public boolean isStateless() {
   return true;
 } 

Chuck Hill

[编辑 | 编辑源代码]

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

Jean-François Veillette

[编辑 | 编辑源代码]

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

华夏公益教科书