快速业务通道

在IBM Lotus Domino Designer中使用Java构建应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

在IBM Lotus Domino Designer中使用Java构建应用程序(9)

时间:2011-01-24 IBM Oscar Hernandez

示例 2:循环通过 Notes 视图

第二个示例中,我们将循环通过 Notes 视图(请参见清单 9)。尽管很简单,该实例在 Java 中编码时却很重要,因为它证实了恰当地使用 recycle 方法可以防止内存异常。

清单 9. 用于循环通过视图的 LotusScript 代码

1  Dim session As New NotesSession  2  Dim database As NotesDatabase  3  Dim view As NotesView  4  Dim document As NotesDocument  5  Set database = session.CurrentDatabase  6  Set view = database.GetView("Enter _View _Name _Here")  7  Set document = view.GetFirstDocument  8  While (Not document Is Nothing)     ''Process the document  9   Print document.Created  10   Set document = view.GetNextDocument(document)  11  Wend

以 Java 模板开始,先声明 database、view 和 document 变量(清单 4 中 LotusScript 代码第 1--4 行)。除了这三个变量以外,我们还需要临时的 Document。在 while 循环通过中需要临时 Document 变量来回收当前文档(请参见清单 10)。

清单 10. 声明 database、view 和 document 变量

import lotus.domino. *;  public class JavaAgent extends AgentBase {   public void NotesMain() {     try {       Session session = getSession();       AgentContext agentContext = session.getAgentContext();       //(Your code goes here)       Database database; View view;       Document document; Document temp;     } catch(Exception e) {       e.printStackTrace();     }   }  }

继续到第 5--7 行(请参见清单 9),我们来初始化 database、view 和 document 变量,如清单 11 所示。

清单 11. 初始化 database、view 和 document 变量

import lotus.domino. *;  public class JavaAgent extends AgentBase {   public void NotesMain() {     try {       Session session = getSession();       AgentContext agentContext = session.getAgentContext();       //(Your code goes here)       Database database;       View view;       Document document;       Document temp;       database = agentContext.getCurrentDatabase();       view = database.getView("Enter_View_Name_Here");       document = view.getFirstDocument();     } catch(Exception e) {       e.printStackTrace();     }   }  }

在IBM Lotus Domino Designer中使用Java构建应用程序(10)

时间:2011-01-24 IBM Oscar Hernandez

在清单 9 的 8 — 11 行,我们循环通过视图中的每个文档。对于这个循环,Java 具有相同的 while 关键字;但是必须使用 != 而不是 Not,并且使用 null 来替代 Nothing(请参见清单 12)。

另外,如果我们要在 Java 中为相同的 Domino 变量多次赋值,则需要在赋新值之前对其调用 recycle ,以防止内存泄露(因此需要 temp 变量)。

清单 12. 循环通过视图中的每个文档

import lotus.domino. *;  public class JavaAgent extends AgentBase {   public void NotesMain() {     try {       Session session = getSession();

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号