在将经典 Domino 应用程序升级到 XPage 时,经常会出现一个特殊问题:“如何处理直接写回浏览器的现有代理中的 PRINT 语句?” 我的 nsf 文件中有 200 个代理,它们都在其代码中使用 Print 语句。我调查发现链接http://www.wissel.net/blog/d6plinks/SHWL-8SF7AH 但我不可能更改代理代码,因为它也用于表单。我必须在单击按钮时从 xpages 重新使用这些代理,并且还必须传递文档。有什么方法或替代方案可以解决我的问题。需要帮助。
我们有 Agent.runWithDocumentContext(doc:NotesDocument) 方法,它可以从 xpage 运行代理并传递内存中的文档。我创建了一个记忆文件
var doc = database.createDocument();
doc.replaceItemValue("StartDate",startDate.getDateOnly())
doc.replaceItemValue("EndDate",endDate.getDateOnly())
doc.replaceItemValue("ReportName",reportName)
var agent:NotesAgent = database.getAgent("("+reportName+")");
agent.runWithDocumentContext(doc);
我可以将此内存中的文档传递给代理。但是我目前面临的问题是,我的代理习惯于直接打印,我认为这是通过 xpage 无法实现的。有没有其他方法可以将内存中的文档传递给代理并能够通过 xpages 直接打印到浏览器。需要帮助请帮忙。