REST服务或使用数据表中的Java对象重复控制

时间:2016-10-21 12:19:54

标签: xpages

在过去几年左右的时间里,我修改了大部分用于XPage的Notes应用程序,并且最近在Repeat Controls等中大量使用了Java对象。

我现在正在实施jQuery DataTables,试图在适当的情况下生成与Notes Views相同的功能。我的应用程序从几个文档记录到几千个不等。

大多数数据表教程等似乎暗示或建议使用REST服务进行数据表。当我可以简单地将现有Java对象放入重复控件然后通过链接等访问后端文档时,这是什么原因。

很抱歉,如果这不是编码问题,但我显然遗漏了一些基本知识的基础知识。任何意见,将不胜感激。

1 个答案:

答案 0 :(得分:4)

简短版本是jQuery数据表是由纯粹的(CS)JS构建的,这意味着任何“正常”的数据传输(如REST服务(例如您使用xp:restService描述的方式))都非常标准无处不在。 jQuery本身并不直接了解任何底层Java对象,也不关心是什么支持服务。

如果您使用xp:repeat控件,则可以从支持Java类/ bean绑定到支持List或其他可迭代集合。如果您将如何呈现数据,这将更有意义。逻辑转变是,特别是在您更新xp:repeat时,必须发送围绕xp:repeat标记的AJAX(XHR),而来自REST服务的jQuery更新将只获得数据响应。使用AJAX刷新页面的一部分(实际上是用新获取的HTML替换现有DOM的一部分并解析内容)存在一些开销,但是在较小的规模上,它不是很大量。

使用REST服务意味着:

  • 您的前端实施将与大多数Web开发行业的其他部分更加一致
  • 您的后端逻辑将被隔离,(理想情况下)使端口,迁移或文档更容易

如果您主要使用XPages控件,那么在XPage上支持Java时,实现xp:repeat(或朋友)没有任何问题,尤其是

many ways to implement a RESTful service in XPages why to go for RESTful APIs in the XPages runtime背后的推理是myself和许多others都有博客的内容。