Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|产品中心下载UML生成C++
您现在的位置: 天极网 > 开发频道 > 在 Lotus Notes 8 中开发复合应用
全文
群乐:IBM

在 Lotus Notes 8 中开发复合应用

2008-01-10 08:55 作者: 陈 原 出处: 论坛整理 责任编辑:方舟
  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 操作

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

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

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

  图 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页。 9 1 2 3 4 5 :
网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml