java - 运行 Java 代理 XPage

标签 java xpages agent

我尝试在 XPage 中运行 Java 代理。 Agent 在 beforePageLoad 事件中运行以操作当前文档。

 <xp:this.beforePageLoad><![CDATA[#{javascript:
          var agent:NotesAgent =database.getAgent("RedirectGroups")
          agent.runWithDocumentContext(currentDocument.getDocument())
    }]]></xp:this.beforePageLoad>

为了测试,代理会向控制台打印一条简单消息。

如果我在浏览器中运行 XPage,我会收到一条错误 500 消息。我在 Domino 9 服务器上使用 Notes 9.01

我是否必须在 XPage 的其他事件中运行代理?

最佳答案

好吧,您必须意识到的第一件事是,Java 代理运行在与 XPage 完全不同的上下文中。它们在两个独立的 JVM 中运行。因此,了解您将无法从您的代理访问您的 XPage 可用的任何类/资源也很重要。

要运行 Java 代码来操作您的文档,您可以使用例如托管 bean,而不是只有“传统”Domino Web 应用程序的打开/保存阶段,您将拥有 JSF 生命周期中的 6 个阶段来与您的数据源交互。这是在 XPage 应用程序中修改数据的更好模式。

当您收到错误 500 时,这意味着服务器端的某些逻辑已失败(例如,在托管 bean 或某些 SSJS 中)。查看此信息的最佳方法是使用 openntf.org 的 XPages LogReader,它将向您显示来自服务器的本地文件的内容以及错误消息(和堆栈跟踪)。

您可以通过许多 NotesIn9 视频序列找到有关如何在 XPages 中使用 Java 的宝贵信息。

关于java - 运行 Java 代理 XPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715904/

相关文章:

javascript - style.display ="none"表现得很奇怪 - 我没有涵盖什么基础?

ssl - Domino XPages : Import PKCS12-SSL-Certificate into ID from ID-Vault

c# - 扩展 SNMP 代理 C#

linux - 当我的 GUI 在 Windows 操作系统上时,如何在远程 Linux 服务器上使用 jprofiler 进行配置?

html - 找出我的用户代理并将其放在我的网站上

java - JTable:删除最右边列的网格线

java.security.NoSuchAlgorithmException : Cannot find any provider supporting Blowfish/ECB/PKCS5Padding

Java 无法解析主机名

XPages - 在 @DbLookup 中使用 @DbName

java - 在android中显示当前音乐播放信息