Dra*_*how 1 xpages xpages-ssjs xpages-extlib
我在ssjs库中声明并使用了一个全局变量,如下所示:
var backendDoc:NotesDocument = null;
function savedata () {
print (backendDoc.getItemValueString("fieldname")); // crash here
}
Run Code Online (Sandbox Code Playgroud)
在将docuemnt模式从read更改为edit之后,我在Edit按钮中为其分配了一个文档对象:
backendDoc = document1.getDocument(); //从名为document1的数据源获取后端文档
上面函数中的代码返回错误NotesDocument.getItemValueString("string"))null.显然,backendDoc为null.
任何想法如何在ssjs库中赋值和使用全局变量?提前致谢
您的代码有2个问题:
正如迈克尔指出的那样:你应该使用范围变量.脚本库中的全局变量实际上是应用程序全局变量(想想applicationScope),如果内存变紧,可能会随时卸载它们(它们的行为取决于XPages版本)
您不能在此处使用NotesObjects.在调用之间,释放了支持JS对象的C Object,并且您的对象变为无效.
您可以将NoteId存储在作用域变量中,并每次检索NotesDocument或实际使用JSON结构来保留您感兴趣的值,并且只在实际需要时读取/写入(加载/保存事件).希望这可以帮助
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |