您可以在Java中使用「resolveVariable」獲取NotesXspDocument(在Java中稱爲DominoDocument)。然後,您可以在Java中的DominoDocument對象上保存,而不是在SSJS中保存。
如果您使用JSFUtil(可在許多XPage開源項目中找到)或使用自己的幫助器方法,則可以執行此操作來獲取您的DominoDocument(將「currentDocument」替換爲文檔數據源的名稱):
DominoDocument uidoc = (DominoDocument) JSFUtil.resolveVariable("currentDocument");
的resolveVariable方法是這樣的:
public static Object resolveVariable(final String variable) {
return FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(), variable);
}
你可以嘗試通過使用getDocument(真)的文件?這可能會阻止創建保存衝突... –
嗨邁克爾。如果在將文檔傳遞給我的java代碼時使用getDocument(true),那麼不幸的是我仍然會遇到保存衝突。我注意到的一件事是,如果我在我的SSJS中使用document1.getDocument()。save()而不是document1.save(),我不會發生衝突。它似乎正確地保存了更改,但我需要再測試一下。這似乎並不完全正確.... –
你有沒有試過只保存在java中? –