按键属性(而不是UNID)初始化文档数据源

时间:2012-09-28 11:51:04

标签: xpages

我们有一些文件包含一些参考文件的“关键”。我们有理由不使用UNID。我想通过此键值初始化数据源。所以在Document ID属性中我编写脚本来打开视图,查找指定文档并使用查找UNID来初始化数据源。 我认为这不是最佳解决方案。

问题:有没有更好的方法来根据键值初始化文档数据源?

示例代码:

@DbLookup("", "view", "key", 1, '[RETURNDOCUMENTUNIQUEID]');

3 个答案:

答案 0 :(得分:1)

在视图中按键查找文档的UNID可能确实是最好的方法。但是,通过编写托管bean作为缓存,可以加快重复调用的速度。例如,如果您编写了一个实现java.util.Map的Java类,并且删除了大多数方法,并实现了一个以密钥作为参数的.get(...)方法,您可以像(假设您调用bean“DocKeyManager”):

< xp:dominoDocument ... documentId =“$ {DocKeyManager [someKey]}”/>

这样,您可以缓存来自.get(...)调用的值,而不必每次都访问数据库,并且它还允许您稍后更改查找算法。

答案 1 :(得分:0)

你应该看看Tims关于将字符串转换为MD2的文章。 这样我认为你可以将你的字符串id转换为unid并使用getDocumentByUnid访问它们

http://xmage.gbs.com/blog.nsf/SearchResults?OpenNavigator&Query=md2

答案 2 :(得分:0)

我们做了很多,但只记得一次(通过$ tag加载页面)而不是动态(#tag)。

如果你这样做,它将最终进行多次查找。 。

Jesse Gallagher建议缓存查找结果也是一个好主意。