我有一个XPage,它有一个数据源document1
。在保存文档之前,我想知道文档的unid。
似乎这是可能的,因为document1.getDocument().getUniversalID()
在保存之前返回一个值。
但是,一旦保存文档,该值始终会更改,然后保持不变。有没有办法设置unid所以它在保存时不会改变?我已经尝试了if (document1.isNewNote()) document1.getDocument().setUniversalID(document1.getDocument().getUniversalID())
但是在保存后它仍然在变化。
答案 0 :(得分:2)
在dominoDocument' querySaveDocument
事件中更改文档的ID。
if (document1.isNewNote()) {
document1.getDocument().setUniversalID(yourID);
}
这是一个完整的XPage示例:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument
var="document1"
formName="Test">
<xp:this.querySaveDocument><![CDATA[#{javascript:
if (document1.isNewNote()) {
document1.getDocument().setUniversalID(document1.getItemValueString("id"));
}
}]]></xp:this.querySaveDocument>
</xp:dominoDocument>
</xp:this.data>
<xp:inputText
value="#{document1.id}"
defaultValue="#{javascript:document1.getDocument().getUniversalID()}">
</xp:inputText>
<xp:button
value="Label"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="complete"
immediate="false"
save="true">
</xp:eventHandler>
</xp:button>
</xp:view>