在 xPages 中使用数据上下文有什么好处?

2024-02-19

我从未在 xPages 中使用过数据上下文,想了解其好处,

如果我想返回内存中的某些内容,我经常调用 SSJS 脚本库中的函数,我相信该脚本库也存储在内存中。

假设我在 ssjs 中有一个返回 Notesdocument 的函数,这个函数可能会从我的 xpage 中的多个位置调用。在这种情况下,数据上下文对于 ssjs 脚本库中的函数是否有益。


dataContexts 可以被认为是全局变量。相对于 SSJS 函数的优点是:

1)dataContext运行SSJS/Java/无论什么都返回值。对 dataContext 的引用使用 EL(例如#{myVar}),与数据源相同。所以我的理解是EL获取值,而不是每次运行SSJS/Java代码。所以这有性能优势。

2) dataContext 的值可以动态计算或在页面加载时计算。因此,您可以使用 ${javascript:@Today()} 并运行一次,而不是每次都运行一个函数。

我怀疑还有一个性能优势,因为对 dataContexts 的引用使用 EL。因此,参考文献中的任何一点都不会运行 SSJS,因此它不必通过 SSJS 解析器。

dataContext 的额外好处是它们可以限定数据源可以的任何级别 - 例如 XPage、自定义控件或面板。这使它们比 viewScope 更具优势。因此,您还可以在重复控件的面板中设置 dataContext,以避免多次引用 NotesDocument 的字段或字段串联。

我倾向于避免将 Domino 对象存储在 dataContexts 中,主要是因为回收存在固有的风险。不知道有没有问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 xPages 中使用数据上下文有什么好处? 的相关文章

随机推荐