Xpages 在XPage中从外部nsf导入服务器端javascript脚本库

Xpages 在XPage中从外部nsf导入服务器端javascript脚本库,xpages,lotus-notes,lotus-domino,serverside-javascript,Xpages,Lotus Notes,Lotus Domino,Serverside Javascript,我试图找到一种从外部nsf应用程序(在同一台或另一台domino服务器中)引用服务器端jss文件的方法 我去了一个xpage,然后去了它的资源属性。我选择导入一个脚本库,然后在弹出窗口中我在下拉列表中选择“服务器端”,最后我尝试猜测一个可以工作的url 我知道它不像客户端javascript那样工作,因为csjs只是由浏览器解析的文本。但是我不明白为什么xpage不能从url中检索jss,然后加载并解析它,就好像它是本地的一样 可以从另一个nsf加载jss吗?我认为在nsf中不可能。我认为问题在

我试图找到一种从外部nsf应用程序(在同一台或另一台domino服务器中)引用服务器端jss文件的方法

我去了一个xpage,然后去了它的资源属性。我选择导入一个脚本库,然后在弹出窗口中我在下拉列表中选择“服务器端”,最后我尝试猜测一个可以工作的url

我知道它不像客户端javascript那样工作,因为csjs只是由浏览器解析的文本。但是我不明白为什么xpage不能从url中检索jss,然后加载并解析它,就好像它是本地的一样


可以从另一个nsf加载jss吗?

我认为在nsf中不可能。我认为问题在于,您将它与客户端JavaScript脚本库的过程相比较,而不是与服务器端资源相比较,因此认为它比技术上需要的更简单。您不能从另一个NSF加载Java类,也不能(轻松地)加载XPage或自定义控件。每个NSF都在自己的JVM中运行,因此可能还需要启动外部数据库的XPages运行时来加载SSJS脚本库。SSJS脚本库可以引用其他库、Java类、托管bean、变量等,检索这些库将失败,因为SSJS脚本库将以纯文本形式从数据库中检索(请记住,它只是运行时的代码)并在数据库B的上下文中解析。我认为它有足够的复杂性,实际上是不可支持的,特别是当它可以在8.5.2以后的插件中完成时,它将更加独立

我已经尝试通过后端HTTP会话访问资源,但您仍然需要对服务器进行身份验证—它不会自动传递登录凭据或使用服务器访问。因此,这可能也是一个必须(以某种方式)克服的障碍

我相信Jesse Gallagher已经找到了通过OpenNTF Domino API从另一个数据库加载XPage或自定义控件的方法,但我认为这不是推荐的方法。我怀疑他用它来加载SSJS库。您还可能会遇到问题,因为代码位于单独的JVM中

基本上,要从多个NSF访问相同的SSJ,它需要位于NSF之上的服务器层次结构级别,因此在OSGi插件中。但如果它是供您自己使用的代码,那么到那时,您很可能正在编写Java而不是SSJS


同时,最好的选择是复制、粘贴或继承模板。

如果您想要链接的代码值得,请使用Java和OSGi或JAR。