Tho*_*ian 4 datacontext xpages
我从未在xPages中使用过数据上下文,并且想知道它的好处,
如果我想在内存中返回一些内容,我经常在SSJS脚本库中调用函数,我相信它也存储在内存中.
所以假设我在ssjs中有一个函数返回一个notesdocument,这个函数可能是从我的xpage中的几个地方调用的.在这种情况下,数据上下文将有利于在ssjs scriptlibrary中具有函数.
dataContexts可以被认为是全局变量.SSJS功能的优点是:
1)dataContext运行SSJS/Java /返回值的任何内容.对dataContext的引用使用EL(例如#{myVar}),与数据源相同.所以我的理解是EL获取值,而不是每次都运行SSJS/Java代码.所以那里有性能优势.
2)dataContext的值可以动态计算或在页面加载时计算.因此,您可以使用$ {javascript:@Today()}并运行一次,而不是每次都运行一个函数.
我怀疑还有一个性能优势,因为对dataContexts的引用使用EL.所以在引用中没有任何一点你运行SSJS,所以它不必通过SSJS解析器.
dataContexts的额外好处是它们可以限定到数据源可以达到的任何级别 - 所以XPage,Custom Control或Panel.这使它们比viewScope更具优势.因此,您还可以在重复控件中的面板中设置dataContext,以避免多次引用NotesDocument的字段或字段的连接.
我倾向于避免在dataContexts中存储Domino对象,主要是因为回收的固有风险.我不知道是否有问题,我
| 归档时间: |
|
| 查看次数: |
2150 次 |
| 最近记录: |