1

在保存文档时,我正在运行正在执行 .save() 的 SSJS,然后我希望将文档链接 (URL) 包含在使用 context.getUrl() 发送的通知电子邮件的正文中。

这适用于已经保存的文档,因为它在打开文档时在 URL 中有文档 ID,但不适用于新文档。有没有办法为还没有 ID 的新文档完成此操作?

4

2 回答 2

2

You have to construct the URL yourself since (as you already know) the context.getUrl() method can not be used.

So after your .save() you could do something like the following:

var docUrl = context.getUrl().toString().split(view.getPageName())[0] + "/" + database.getFilePath() + view.getPageName() + "?action=openDocument&documentId=" + document.getNoteID();

The context.getUrl().toString().split(view.getPageName())[0] part should give you the hostname and database filepath according to David Leedys xpagescheatsheet.com URL test. I then add the current XPage name and the openDocument and docid parameters.

于 2012-10-13T21:00:20.527 回答
1

另一种可能性:如果文档后面有一个表单,并且属性“改为打开 XPages”,则可以使用该http://server/database.nsf/0/universalid语法。当您的文档中有唯一标识符时,您还可以使用按该标识符排序的视图并使用http://server/database.nsf/sortedview/sortkey. 使用排序视图,您可以在保存之前预测 URL。

于 2012-10-14T12:55:33.540 回答