保存在bean中后,在Document中重复项目

时间:2016-12-09 14:40:23

标签: xpages javabeans lotus-notes

我通过XPage体验奇怪但可重现的行为,它通过java bean保存其值。在copyAllItems到文档后,文档中有两个richtext项。首先是空的,第二个按预期填充。

这是我的Xpage:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.data>
    <xp:dominoDocument var="docDataSource" formName="test"></xp:dominoDocument>
</xp:this.data>
<xp:div id="test">
    <xp:fileUpload id="fileUpload1" value="#{docDataSource.test}"></xp:fileUpload>
</xp:div>
<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="partial" refreshId="test">
        <xp:this.action><![CDATA[#{javascript:registration.testCopyAllItems(docDataSource);}]]></xp:this.action>
    </xp:eventHandler>
</xp:button>

这是我的java bean方法:

public void testCopyAllItems(DominoDocument docDataSource) throws NotesException{
    Document docUser = database.createDocument(); // <- get any database
    docDataSource.getDocument(true).copyAllItems(docUser, true);
    docUser.save();
}

这是文件中的结果:

enter image description here

有没有人暗示可能导致问题的原因?

1 个答案:

答案 0 :(得分:2)

这似乎是一个正常的&#34;行为,我已经看到很多使用RichtText字段。这不重要。 Notes可以处理由多个项组成的RichText字段。

作为解决方法,

  • 使用copyAllItems()
  • 删除removeItem()后的RichText字段
  • 分别使用copyItem()复制。

这应该只产生一个项目。