我尝试在XPage中运行Java代理.代理程序在beforePageLoad事件中运行以操作当前文档.
<xp:this.beforePageLoad><![CDATA[#{javascript:
var agent:NotesAgent =database.getAgent("RedirectGroups")
agent.runWithDocumentContext(currentDocument.getDocument())
}]]></xp:this.beforePageLoad>
Run Code Online (Sandbox Code Playgroud)
为了测试,代理会向控制台输出一条简单的消息.
如果我在浏览器中运行XPage,我会收到错误500消息.我在Domino 9 Server上使用Notes 9.01
我是否必须在XPage的其他事件中运行代理?
那么,你必须要意识到的第一件事是Java代理在与XPage完全不同的上下文中运行.它们运行在两个独立的JVM中.因此,了解您无法访问代理商可用于XPage的任何类/资源也很重要.
要运行操作文档的Java代码,您将使用例如托管bean,而不是仅仅拥有"传统"Domino Web应用程序的打开/保存阶段,您将拥有JSF生命周期中的6个阶段来与您的数据源进行交互.这是在XPage应用程序中修改数据的更好模式.
当您收到错误500时,表示服务器端的某些逻辑已失败(例如,在托管bean或某些SSJS中).查看此问题的最佳方法是使用openntf.org中的XPages LogReader,它将显示来自服务器的本地文件的内容以及错误消息(和堆栈跟踪).
您可以通过许多NotesIn9视频序列找到有关如何在XPage中使用Java的有价值信息.
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |