科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在 Lotus Notes 8 中开发复合应用(3)

在 Lotus Notes 8 中开发复合应用(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

该操作将接收到一个值为新闻编号 ImageNewsID 的属性 NewsIDChanged,然后在表单中显示新闻编号为 ImageNewsID 的新闻文档的标题,作者,正文等信息。

作者:陈 原 来源:论坛整理 2008年1月10日

关键字: lotus Lotus Notes

  • 评论
  • 分享微博
  • 分享邮件

  NSF 组件中操作的实现

  现在我们为 ImageDescForm 来具体实现 ShowImageDesc 操作。该操作将接收到一个值为新闻编号 ImageNewsID 的属性 NewsIDChanged,然后在表单中显示新闻编号为 ImageNewsID 的新闻文档的标题,作者,正文等信息。

  熟悉 Notes 的人知道,Notes 开发中本来就有操作(Action)这种设计元素,为了与之区分,我们称 NSF 组件中的复合应用操作为 WSDL 操作(WSDL Action)。在设计时为了便于 Notes 开发人员使用,创建 WSDL 操作的步骤沿袭了 Notes 操作的创建方法。

  因此,为了实现这个名为 ShowImageDesc 的 WSDL 操作,我们首先要在 ImageDescForm 表单中创建一个普通 Notes 操作 ImageIDChangedAction。

  图 11. 在 Domino Designer 中定义 WSDL 操作

  

  

  

  在该操作的高级属性中,我们会发现一个新增设置:“组合设置”,在这里可以选择之前在 WSDL 中定义的操作 ShowImageDesc。通过这样一步简单的操作,一个普通的 Notes 操作 ImageIDChangedAction 就成为了一个 WSDL 操作,实现了ShowImageDesc。(一般情况下,建议将这个操作在操作条上隐藏)。

  图 12. 在组合设置中选择对应的操作名

  

  

  

  接下来我们需要在该操作的 click 事件中添加代码,实现下列内容:

  接收属性 NewsIDChanged;

  根据属性 NewsIDChanged 的值,在新闻库中查找到对应新闻编号的新闻文档;

  将该新闻文档的对应域值显示在 ImageDescForm 表单上。

  由于后两步对 Lotus 开发人员并不陌生,这里就不再赘述,在此仅列出接收属性 NewsIDChanged 的 LotusScript 代码,这是整个 WSDL 操作实现过程中最核心的部分:

  清单 4. 接收属性并执行操作的 Lotusscript 代码

  Sub Click(Source As Button)

  ...

  On Error 4719 Goto err4719

  Dim pb As NotesPropertyBroker

  Set pb = session.getPropertyBroker() // 获取 PropertyBroker 对象

  Dim pbInputProperty As NotesProperty

  Dim pbcontext As Variant

  pbContext = pb.InputPropertyContext

  Set pbInputProperty = pbContext(0) // 获取属性

  Dim InputPropertyName As String

  InputPropertyName = pbInputProperty.Name

  Dim pbvalue As Variant

  pbValue = pb.GetPropertyValue(InputPropertyName) // 获取属性值

  ...

  // 对该属性值进行处理,在表单中显示相应文档标题,作者和内容。

  …

  Exit Sub

  err4719:

  Print "Error" &Str(Err) &": " &Error$

  Messagebox "error"

  ...

  End Sub

  

  如上,通过 Notes 8 中提供的 PropertyBroker 相关的类和方法,WSDL 操作 ShowImageDesc 操作可以获得属性 NewsIDChanged 的值,存放到变量 pbValue 中。在此基础上,可以对该值进行处理,在表单中显示相应文档标题,作者和内容。

  通过 定义属性和操作,发布属性,实现操作,我们得到了两个 NSF 组件:ImageNewsList 和 ImageDescForm。对广大 Notes 用户而言,将 Notes 元素封装成组件的好处在于:用户可以充分利用现有的 Notes 数据库,以模块化,组件化的 SOA 思想对它们加以改造。

  共5页。 912345:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章