getAllEntriesByKey causes error: Unknown or unsupported object type in Vector
getAllEntriesByKey causes error: Unknown or unsupported object type in Vector
我在 xp:messages 控件中收到以下错误:
Error in lotus.domino.local.View, line -2: NotesException: Unknown or
unsupported object type in Vector
它是在我的Java class下面的代码中生成的:
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec
-> vec = vw.getAllEntriesByKey(key);
}
此处的键是提供的字符串。
有人对此有解释吗?
有两件事需要考虑。首先是你的语法。代码应该如下
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec = vw.getAllEntriesByKey(key);
// do something with the vec
}
第二个是异常信息:
矢量中的对象类型未知或不受支持。
文档 here 有方法签名。您提到的 key
变量是一个字符串,因此该方法应该是您使用的方法:
public ViewEntryCollection getAllEntriesByKey(Object key) throws NotesException
当您从代码中删除 -> 时,它是否按预期工作?
您传递的是字符串,而不是向量。您需要创建一个 Vector,然后将您的字符串作为第一个元素添加到其中,与 SSJS 中相同。
Vector vec = new Vector();
vec.add(key)
vw.getAllEntriesByKey(vec);
这是 ODA 的方法签名是 getAllEntriesByKey(Object key)
的原因之一,因此我们的抽象层会为您完成所有这些工作。另外一旦得到结果,就可以使用标准的Java循环来处理循环(for (ViewEntry ent : vec) {....}
)
您是否检查过您的变量 key
不为空?如果我提供一个 null 的关键参数,我会收到此错误消息。
我在 xp:messages 控件中收到以下错误:
Error in lotus.domino.local.View, line -2: NotesException: Unknown or unsupported object type in Vector
它是在我的Java class下面的代码中生成的:
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec
-> vec = vw.getAllEntriesByKey(key);
}
此处的键是提供的字符串。
有人对此有解释吗?
有两件事需要考虑。首先是你的语法。代码应该如下
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec = vw.getAllEntriesByKey(key);
// do something with the vec
}
第二个是异常信息:
矢量中的对象类型未知或不受支持。
文档 here 有方法签名。您提到的 key
变量是一个字符串,因此该方法应该是您使用的方法:
public ViewEntryCollection getAllEntriesByKey(Object key) throws NotesException
当您从代码中删除 -> 时,它是否按预期工作?
您传递的是字符串,而不是向量。您需要创建一个 Vector,然后将您的字符串作为第一个元素添加到其中,与 SSJS 中相同。
Vector vec = new Vector();
vec.add(key)
vw.getAllEntriesByKey(vec);
这是 ODA 的方法签名是 getAllEntriesByKey(Object key)
的原因之一,因此我们的抽象层会为您完成所有这些工作。另外一旦得到结果,就可以使用标准的Java循环来处理循环(for (ViewEntry ent : vec) {....}
)
您是否检查过您的变量 key
不为空?如果我提供一个 null 的关键参数,我会收到此错误消息。