【问题标题】:How do you pass a NotesDocument / NotesViewEntry Collection into a Custom Control via custom property?如何通过自定义属性将 NotesDocument / NotesViewEntry 集合传递给自定义控件?
【发布时间】:2012-03-22 11:38:15
【问题描述】:

我希望有一个自定义控件,它适用于我决定传递给它的任何文档。最好的方法是什么?

假设你不能直接传递集合...是否应该创建一个函数来将集合转换为 UNID 的 hashMap 或向量?

还有其他方法吗?

谢谢

【问题讨论】:

  • 我会说使用 ArrayList 而不是 Vector。
  • 谢谢!我首先尝试了 java.lang.Object 并且成功了。有趣的是,如果您尝试重复使用它,它看起来会自动转换为 UNID ......但它们不是字符串。所以你需要做一个 .toString() 让它可用。

标签: xpages


【解决方案1】:

如果您改为传递数据源,则会将回收安全对象传输到自定义控件。

例如,如果 XPage 定义了一个文档数据源,并且您将对该数据源的引用传递给 CC,那么正在传输的 Java 对象是一个 DominoDocument,它是一个围绕“后端”的循环安全包装器文档。直接传递文档可能会导致链接的 C 对象在请求之间成为孤立对象。

同样,传递对视图数据源的引用为 CC 提供了一个 DominoView,它本质上是一个围绕后端 ViewEntryCollection 的循环安全包装器。

对于大多数用例,您可以直接传递后端对象,但传递数据源要安全得多。

【讨论】:

    【解决方案2】:

    将 NotesDocument 和/或 NotesDocumentCollection 对象传递给自定义控件可以正常工作。只需将自定义控件的属性类型设置为 java.lang.Object。通过这种方式,您可以将任何对象传输到自定义控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多