我在xp:messages控件中收到以下错误:
lotus.domino.local.View中的错误,第-2行:NotesException:未知或 Vector中不受支持的对象类型
它是在我的Java类中的以下代码中生成的:
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec
-> vec = vw.getAllEntriesByKey(key);
}
键是此处提供的字符串。
有人对此有解释吗?
答案 0 :(得分:3)
您是否检查了变量key
是否不为null?如果提供的键参数为空,则会收到此错误消息。
答案 1 :(得分:2)
您传递的是字符串,而不是向量。您需要创建一个Vector,然后将其字符串添加为第一个元素,就像在SSJS中一样。
Vector vec = new Vector();
vec.add(key)
vw.getAllEntriesByKey(vec);
这是ODA的方法签名为getAllEntriesByKey(Object key)
的原因之一,因此我们的抽象层为您完成了所有这些工作。另外,一旦获得结果,就可以使用标准Java循环来处理循环(for (ViewEntry ent : vec) {....}
)
答案 2 :(得分:0)
有两件事要考虑。首先是您的语法。代码应如下所示
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
当您从代码中删除->时,它是否按预期工作?