0

我有一个 XPage,其数据源附加到注释文档。在这个 XPage 上,我有一个调用托管 bean 中的方法的按钮。此方法从另一个笔记数据库中检索笔记文档。此注释文档在富文本字段中有一些附件。这些附件应复制到我的 XPage。

有没有办法做到这一点?

我知道如何从笔记文档中检索附件。但是如何将它们附加到我的 XPage?

对于我的任务,我不能使用文件上传控件,因为“文件上传”应该在我的托管 bean 中自动发生。

我发现了一个叫做 AttachmentHolderValue 的东西可以完成我的任务,但不幸的是没有这个类的文档。

4

1 回答 1

0

好的,对于下载显示,您可以使用如下代码:

<xp:this.data>
    <xp:dominoDocument var="yourNewDocument"></xp:dominoDocument>
</xp:this.data>

<xp:panel>
    <xp:this.data>
        <xp:dominoDocument ignoreRequestParam="true" var="download" action="openDocument"
            databaseName="otherDatabase" documentId="calculated">
        </xp:dominoDocument>
</xp:this.data>
    <xp:fileDownload rows="30" id="fileDownload1"
        displayLastModified="false" value="#{download.richTextItem}">
    </xp:fileDownload>
</xp:panel>

这会将其他数据库中的文档添加为 dominoDocument 数据源,您可以使用它来绑定<xp:fileDownload>到。

然后你可以添加一些东西来选择你想要复制到你的新文档的附件,我会推荐一个重复控件并像这样使用它:

    <xp:repeat id="repeat1" rows="30"
        value="#{javascript:download.getAttachmentList('richTextItem');}"
        var="attachment">
    <xp:panel>
        <xp:label value="#{javascript:attachment.getName() }" id="label1"></xp:label>
        <xp:br></xp:br></xp:panel></xp:repeat>

插入标签,您可以添加一个复选框,并在 onSave 事件中运行一些代码,将所选元素复制到新文档(必须在我的应用程序中查找)。

您可以使用附件复制它们NotesDocument.copyAllItems()或将其保存到服务器磁盘,然后将它们添加ritem.embedObject到新文档的 RichTextItem 中。但是我建议在使用附件的经验中在后端进行附件副本可能是一个非常棘手的部分。

于 2013-08-08T11:27:10.807 回答