如何使用Java复制备注项

时间:2015-04-18 20:01:32

标签: java xpages lotus-notes

我想将一个笔记文档中的笔记项目复制到另一个笔记文档下面使用Java是我希望在Java中实现的Lotus脚本版本

Sub CopyItem(FromDoc As NotesDocument, ToDoc As NotesDocument, itemName As String)

Dim FromItem As NotesItem
Dim ToItem As NotesItem

If Not (FromDoc.Hasitem(itemName)) Then Exit Sub
Set FromItem = FromDoc.GetFirstItem(itemName)
If Not ToDoc.hasitem(itemName) Then Set ToItem = ToDoc.CreateItem(itemName)
ToItem.Values = FromDoc.Values      
End Sub

我试过以下内容:

 public static void copyAnItem(Document FromDoc, Document ToDoc, String sItemName){
        Vector<String> FromItem = new Vector<String>();
        Vector<String> ToItem = new Vector<String>();

        if(!FromDoc.hasItem((itemName))){
            return;
        }
     FromItem = FromDoc.getItemValue(itemName);
     if(!ToDoc.hasItem(sItemName)){
         ToItem.add(itemName);
        }


     ToItem.addAll(FromDoc);

    }

2 个答案:

答案 0 :(得分:3)

public static void copyAnItem(Document fromDoc, Document toDoc, String itemName){
    try {
        if(fromDoc.hasItem(itemName)) {
            toDoc.copyItem(fromDoc.getFirstItem(itemName));
        }
    } catch (NotesException e) {
        // your exception handling
    }
}

您可以使用getFirstItem获取整个项目,包括来自fromDoc的所有属性,只需一行代码即可将copyItem复制到toDoc。

答案 1 :(得分:1)

public static void copyAnItem(Document FromDoc, Document ToDoc, String sItemName){

    if(FromDoc.hasItem(sItemName)){
        ToDoc.replaceItemValue(sItemName, FromDoc.getItemValue(sItemName));
    }    

}

它不会与作者或读者项目合作。更好的Knut解决方案:)