在保存文档时,我正在运行正在执行.save()的SSJS,然后我希望将文档链接(URL)包含在通过使用context.getUrl发送的通知电子邮件的正文中( )。
这适用于已保存的文档,因为它在doc打开时在URL中具有doc ID,但不适用于新文档。有没有办法可以为没有身份证的新文件做到这一点?
答案 0 :(得分:2)
您必须自己构建URL,因为(您已经知道)不能使用context.getUrl()方法。
所以在你的.save()之后你可以做以下的事情:
var docUrl = context.getUrl().toString().split(view.getPageName())[0] + "/" + database.getFilePath() + view.getPageName() + "?action=openDocument&documentId=" + document.getNoteID();
context.getUrl().toString().split(view.getPageName())[0]
部分应根据David Leedys xpagescheatsheet.com URL test为您提供主机名和数据库文件路径。然后我添加当前的XPage名称和openDocument和docid参数。
答案 1 :(得分:1)
另一种可能性:如果您在文档后面有一个表单并且“打开XPages”属性,则可以使用http://server/database.nsf/0/universalid
语法。如果文档中有唯一标识符,您还可以使用按该标识符排序的视图并使用http://server/database.nsf/sortedview/sortkey
。使用排序视图,您可以在保存之前预测URL。