包含在扩展库(Domino 9中的默认设置)中有一个“对象数据源”功能。它非常方便的东西,但我无法找到任何文件。我有一个关于'ignoreRequestParams'属性的问题......它是什么意思以及如何使用它?通过启用这个URL参数可以自动绑定到数据源对象的属性?XPages扩展库和对象数据源使用
回答
原始的两个数据源(Domino Document和Domino View)都支持允许URL查询字符串参数覆盖属性值的行为。默认情况下,文档数据源在查询字符串中查找databaseName
,formName
和documentId
;对于它所发现的任何这些属性,相应的属性将被设置为参数值,而不管该属性在XSP标记中可能分配了哪些值。
- 如果
requestParamPrefix
属性被赋予一个非空字符串值,然后将每个 属性将仅在网址中包含一个匹配相应 参数覆盖:这种行为可以通过两种方式定制指定的前缀加上属性名称 - 例如
blog_documentId
,comment_formName
。通过默认 参数(而不是匹配的前缀)提供的值将被忽略。 - 如果
ignoreRequestParams
属性的计算结果为true,那么无论 查询字符串参数值如何,数据源的属性都将被URL覆盖。 默认值此属性的值为false,因此如果要确保URL将不会影响影响该实例的属性值,则必须在特定数据源实例上将其设置为true。
但是,这种行为没有发生在对象数据源中。因此,为ignoreRequestParams
或requestParamPrefix
属性设置的任何值都不会影响此类数据源的任何实例的行为。
或许它一直没有执行的原因是因为对象数据源完全是任意的,所以没有预定义的假设,就是它的任何实例都支持特定的属性。您可以在数据源实例的createObject
属性中定义构成用于创建数据对象的业务逻辑的“方法绑定”(SSJS函数或Java方法)。因此,生成的对象可以是任何你想要的,它可以支持你想要的任何属性,并且确定这些属性的初始值的逻辑可以是任何你想要的。因此,您可以自由引用该方法绑定中的内部全局变量param
,以在定义数据源的初始状态时考虑您希望的任何URL参数。
例如,下面的是一个完全有效的方法,对象数据源的一个实例的createObject
属性绑定:
return {
firstName: (param.get("firstName") || ""),
lastName: (param.get("lastName") || ""),
email: (param.get("email") || "")
};
这将导致你可以将数据绑定组件对象.. 。举例来说,如果你的var
的数据来源是“登记”:
#{registration.firstName}
对象的每个属性将有如果URL中包含匹配属性名称的参数的默认值。当然,您的逻辑可能远比这更复杂:使用视图和关键参数(而不是文档ID)来检索文档并加载字段值,根据外键标识查询非Domino数据URL ......这种类型的数据源,天空的极限正好是,因为事先没有定义。
- 1. Xpages扩展库对话框的位置
- 2. xpages扩展库对话框更新数据表
- 3. Xpages bean vs对象数据
- 4. 的XPages扩展库无法找到
- 5. 如何卸载XPages扩展库
- 6. 使用ColdFusion 8数据源扩展ColdFusion 9数据源文件
- 7. 使用JavaScript扩展数学对象
- 8. 开源对象数据库?
- 9. jquery扩展 - 对象数组
- 10. 扩展数组的对象
- 11. Robospice存储对象,通过Ormlite扩展数据库中的ArrayList
- 12. 的XPages sessionAsSigner和Domino数据源
- 13. 数据库模型和扩展方法
- 14. 扩展类数据库
- 15. 扩展数据库类
- 16. 扩展高分数据库
- 17. .TBL数据库扩展
- 18. 如何扩展数据库
- 19. 使用reduce来将源对象的枚举属性扩展到目标对象
- 20. JavaScript - 将源对象的属性扩展为目标对象使用
- 21. 扩展Symfony2用户对象
- 22. 如何使用jQuery扩展来扩展json对象?
- 23. HTMLCollection对象扩展?
- 24. Java“扩展”对象
- 25. 扩展JavaScript对象
- 26. 扩展CakeRequest对象
- 27. 扩展DOMElement对象
- 28. 使用Object.create扩展原生JavaScript对象
- 29. 如何使用助手对象扩展Ruby库
- 30. 使用Cython扩展Python与C++共享对象库
您可能需要阅读源代码 – stwissel 2013-03-08 06:51:34