【问题标题】:How do I create a vector for XPages REST service startKeys?如何为 XPages REST 服务 startKeys 创建向量?
【发布时间】:2014-01-30 22:51:15
【问题描述】:

我有一个按 noteid 在第一列排序的视图

我想使用 ExtLib REST 服务 startKeys 参数来匹配该列表中的特定值。

我从描述中看到需要一个向量,但是下面的代码不起作用 - 为什么不呢?

<xe:this.startKeys>
    <![CDATA[#{javascript:
        var vec:java.util.Vector = new java.util.Vector();
        var temp = 'NT0000BD22'
        vec.add(temp);                      
        temp = 'NT0000BD29'
        vec.add(temp);                      
        return vec
    }]]>
</xe:this.startKeys>

服务器返回的错误指出: { “代码”:400, "text":"错误请求", "message":"Vector 中未知或不支持的对象类型", “类型”:“文本”, “数据”:“com.ibm.domino.services.ServiceException:\r\n\tat

【问题讨论】:

  • Marky,也许可以尝试在 Vector 定义中添加尖括号。在纯 Java 中,它看起来像 Vector vec = new Vector();当然你需要让它在 SSJS java 中工作,我不认为我曾经在 SSJS 中使用过尖括号,所以我只能猜测它们是受支持的。

标签: xpages


【解决方案1】:

xe:viewJsonService 的属性startKeys 仅对一个键有效。它是从哪里从 REST 服务传递视图行的关键。您不能从视图中选择某些键并以这种方式仅交付那些行。

属性startKeys 如果您的视图包含多个排序列,则具有多个键的属性会很有用。然后第一个键必须匹配第一个排序列,第二个键必须匹配第二个排序列等等。

不过,xe:viewJsonService 中的 startKeys 的矢量似乎存在问题。您的代码适用于xp:dominoView(如果您使用前面段落中描述的 startKeys)但不适用于xe:viewJsonService。它也适用于xe:viewJsonService 中的keys,无论如何您都应该使用它来准确获取某个键的行。

【讨论】:

  • 啊,即使它可以正常工作,它也不会返回我想要的两个匹配项。它应该匹配多个子类别。谢谢:)
猜你喜欢
  • 1970-01-01
  • 2017-01-23
  • 2011-06-15
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多