Xpages 当我有UID时访问文档

Xpages 当我有UID时访问文档,xpages,Xpages,我的表单上有一个组合框,它使用“name | UID”格式从视图中加载客户端名称-这将在表单上显示客户端名称,但将UID保存在字段中 现在,我想使用UID查找客户端的名称,并使用以下代码将其保存在XPage上不可见的字段中: // ignore when UID is null if (getComponent("parentUID").getValue() == null) return false; var UID:string = getComponent("parentUID

我的表单上有一个组合框,它使用“name | UID”格式从视图中加载客户端名称-这将在表单上显示客户端名称,但将UID保存在字段中

现在,我想使用UID查找客户端的名称,并使用以下代码将其保存在XPage上不可见的字段中:

// ignore when UID is null
if (getComponent("parentUID").getValue() == null) 
    return false;

var UID:string = getComponent("parentUID").getValue();
var doc:NotesDocument = database.getDocumentByUNID(UID);

// now set your fields 
document1.setValue("nachname", doc.getItemValueString ("nachname"));
document1.setValue("vorname", doc.getItemValueString ("vorname"));
我在一个按钮上附加了一个简单的动作。下一个简单操作是保存

代码崩溃,出现以下错误:

执行JavaScript操作表达式时出错 脚本解释器错误,第8行,第42列:[TypeError]调用方法NotesDatabase.getDocumentByUNID(java.lang.String)null时发生异常

我已将parentUID复制到文档上的一个字段,并且获得了正确的UID,并且文档存在于数据库中

有什么想法吗


PS:我正在将其添加到现有应用程序中,而当前文档不是响应文档-无法更改,很遗憾:o(

看起来您在getComponent行中缺少get.Value()

尝试
getComponent(“parentUID”).getValue()==null

我的猜测是,这导致代码在UID为null时运行。这意味着代码在实际为null时运行,而您检查它的努力不起作用


谢谢你检查

  • 您可以输入print()语句并确保var UID中有一个值
  • 另一件事,请将单词“String”大写,因为java类是大写的

好的,我发现了我的问题-XPages返回了UID,但它包含了一个前导空格。当我连接这些值时,我执行了以下操作:“name | UID”,即,我在管道符号中添加了一个前导空格和尾随空格,以使代码易读-这就是问题的原因。

我确实错过了.getValue()-谢谢你抓住了这个-但这无助于解决这个问题…还有其他想法吗?