我有一个XPage,数据源附加到备注文档。在这个XPage上,我有一个调用托管bean中的方法的按钮。此方法从另一个Notes数据库中检索notes文档。本笔记文档在richtext字段中有一些附件。这些附件应复制到我的XPage中。
有没有办法实现这个目标?
我知道如何从备注文档中检索附件。但是我如何将它们附加到我的XPage?
对于我的任务,我不能使用文件上传控件,因为“文件上传”应该在我的mananged bean中自动发生。
我找到了一些可以完成我的任务的调用AttachmentHolderValue的东西,但不幸的是没有这个类的文档。
答案 0 :(得分: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>
这会将来自其他数据库的Document添加为dominoDocument dataSource,您可以使用它将<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中。但是我建议在我的expirience中使用附件进行附件复制可能是一个非常棘手的部分。