XPages:通过SSJS和Java保存文档时出现文档冲突

问题描述 投票:0回答:1

我有一个XPage,它使用document1.save()在SSJS中保存文档。在此之后,我调用一些Java代码来对文档和保存的新数据进行一些额外的处理;我将document1.getDocument()传递给Java函数。在Java函数中,它调用Document.save()来再次保存文档。这似乎是一个获得豁免冲突的方法,我不知道为什么。任何人都可以解释发生了什么吗? TIA! (除了理解为什么会发生这种情况,如果有人建议我更好地做我正在做的事情,我会很感激。)

里德

java xpages
1个回答
1
投票

您可以在Java中使用“resolveVariable”来获取NotesXspDocument(在Java中称为DominoDocument)。然后,您可以使用Java而不是SSJS来保存DominoDocument对象。

如果您使用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);
}
© www.soinside.com 2019 - 2024. All rights reserved.