如何在调用代理时将文档上下文传递在XPages中?在XPage中,我需要从我的XPage调用一个带有documentContext的Java代理,并且我需要将我的当前文档传递为参数...

在lotuscript中,我们可以在不保存当前文档的情况下轻松完成,但在xPage中我使用以下代码。,Document1是当前文档。

var agent=database.getAgent("AgentName");
agent.runWithDocumentContext(currentDocument.getDocument());
.

此代码我无法获得当前文档的项目的值,但如果我将使用以下代码,

var agent=database.getAgent("AgentName");
document1.save();
agent.runWithDocumentContext(currentDocument.getDocument());
.

我可以获得当前文档的项目值......但我不想保存文档,而无需保存我需要获取项目的项目值。

请给出任何很好的解决方案...

有帮助吗?

解决方案

代理.runwithdocumentcontext(currentdocument.getdocument(true))。这将使后端文件中的所有新值放在后端文件中,因此它与Lotusscript的工作相同。此外,如果您需要使用Notes表单计算的CurrentDocument,请将DataSource的“ComputeWithNotesform”属性设置为“onload”或“兼并”。

其他提示

由于XPage上可能有一个文档源,我使用parameterDocid ...

var id = document1.getDocument().getNoteID();
var agent = database.getAgent("MyAgent");
agent.run(id)
.

和代理...

Call GetDocument(agent.ParameterDocID)
.

...

Public Sub GetDocument(DocID As String)
On Error GoTo eh

Set Doc = Db.GetDocumentByID(DocID)

es:
Exit Sub
eh:
Resume es
End Sub
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top