运行Java代理XPage

运行Java代理XPage,java,xpages,agent,Java,Xpages,Agent,我尝试在XPage中运行Java代理。代理在beforePageLoad事件中运行以操作当前文档 <xp:this.beforePageLoad><![CDATA[#{javascript: var agent:NotesAgent =database.getAgent("RedirectGroups") agent.runWithDocumentContext(currentDocument.getDocument()) }]

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

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

为了进行测试,代理向控制台打印一条简单的消息

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


我必须在XPage的另一个事件中运行代理吗?

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

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

当您收到错误500时,这意味着服务器端的某些逻辑出现故障(例如,在托管bean或某些ssj中)。最好的方法是使用openntf.org上的XPages日志读取器,它将显示来自服务器的本地文件的内容以及错误消息(和堆栈跟踪)


您可以通过大量NotesIn9视频序列找到关于如何在XPages中使用Java的宝贵信息

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

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

当您收到错误500时,这意味着服务器端的某些逻辑出现故障(例如,在托管bean或某些ssj中)。最好的方法是使用openntf.org上的XPages日志读取器,它将显示来自服务器的本地文件的内容以及错误消息(和堆栈跟踪)

您可以通过大量NotesIn9视频序列找到关于如何在XPages中使用Java的宝贵信息

代理必须具有

  • 设置安全选项“以Web用户身份运行”
  • 作为目标“无”
由于代理可能使用此选项运行,因此在XPage中调用Java代理不是一个好的做法。最好在XPage中直接调用/使用Java代码。

代理必须具有

  • 设置安全选项“以Web用户身份运行”
  • 作为目标“无”

由于代理可能使用此选项运行,因此在XPage中调用Java代理不是一个好的做法。最好在XPage中直接调用/使用Java代码。

安全选项“以Web用户身份运行”是问题所在。但是我将尝试使用JavaBean而不是notes代理。安全选项“以Web用户身份运行”是问题所在。但是我会尝试使用JavaBean而不是notes代理第二次推荐谢谢!我会在视频中搜索注释。请看约翰的第二次推荐。谢谢!我将在9个视频中搜索注释