2012-05-03 15 views
2

在Xpage上我有这个comboBox,它使用一个经典的SSJS @DbColumn调用来获取它的值。但是,有可能数据量会超过@DbColumn的限制。所以也许一个REST服务可能成为我的解决方案吗?我发现很多CSJS的例子(重新定向显示一个JSON树,或者使用客户端的dojoStore),但没有一个会调用REST服务,并使用SSJS代码在服务器上使用它的JSON响应。这是不可能完成的事情,还是这么简单,以至于没有人想过要举出一个例子呢?或者我可能完全偏离了我的RESTful想法?我可以使用REST服务来使用SSJS填充计算的<selectItems>控件吗?

+4

有了这样一个下拉列表中显示的数据量使得在浏览器中,用户体验不佳。为什么不使用typeAhead(开箱即用的XP​​age版本)或替代方案来减轻服务器和用户的负担? – MarkyRoden

+0

查看升级包1中的Domino Access Services(DAS)。 –

+0

@MarkyRoden:当然,您完全正确,我应该指出,目前的组合只是一个起点;这是目前的情况。同时我也尝试了一种类型,但问题仍然存在:我如何在SSJS计算中使用REST服务的响应? –

回答

2

我分享MarkyRoden的意见,但只是为了给你@DbColumn替代(),你可以使用SSJS代替。

var lookupView:NotesView = database.getView("<LOOKUPVIEW>"); 
lookupView.getColumnValues(0) 

这相当于

@DbColumn("","<LOOKUPVIEW>", 1); 

,但带给你的全部结果W/O限制:那你不会得到一个“无限”的结果。

希望这有助于
斯文

+0

感谢这个想法,我会试一试,并且可能会坚持下去。尽管如此 - 只是为了好奇 - 我想知道它是否是一种使用SSJS编码来消费REST服务响应的方法;是的:我知道这可以使用托管bean来完成;我或多或少地试图在这种情况下适应REST,以及我能用它做什么;) –

+0

我一直在研究同样的问题 - 通过SSJS访问REST服务。查看各种视图控件REST Services可用于扩展库,它们只是客户端控件 - Dojo DataGrid,iNotes视图。我怀疑REST服务的输出不是在服务器端计算的,而是仅在运行时由浏览器计算的。这就是为什么我认为你只能使用客户端结果来生成“重复”。 –

+0

斯文,一个问题。你如何做到这一点,但在同一台服务器上的不同数据库?谢谢... – gkidd

相关问题