Я не думаю, что это возможно в NSF. Я думаю, проблема в том, что вы сравниваете это с процессом библиотеки сценариев JavaScript на стороне клиента, а не с ресурсами на стороне сервера, и поэтому думаете, что это проще, чем технически должно быть. Вы не можете загрузить класс Java из другого NSF, и вы не можете (легко) загрузить XPage или пользовательский элемент управления. Каждый NSF работает на своей собственной JVM, поэтому может потребоваться запустить среду выполнения XPages внешней базы данных для загрузки библиотеки сценариев SSJS. Библиотека скриптов SSJS может ссылаться на другие библиотеки, классы Java, управляемые bean-компоненты, переменные и т. д., и получить их не удастся, поскольку библиотека скриптов SSJS будет извлечена из базы данных A в виде простого текста (помните, что это только код во время выполнения) и проанализирована в пределах контекст базы данных B. Я думаю, что существует достаточно уровней сложности, чтобы это было практически невозможно, особенно когда это можно сделать в плагине начиная с 8.5.2, который был бы более автономным.
Я пытался получить доступ к ресурсам через серверные HTTP-сессии, и вам все равно нужно пройти аутентификацию на сервере — он не передает автоматически учетные данные для входа или использует доступ к серверу. Так что, вероятно, это также барьер, который (каким-то образом) придется преодолеть.
Я считаю, что Джесси Галлахер сумел разработать способ загрузки XPage или пользовательского элемента управления из другой базы данных через OpenNTF Domino API, но я не думаю, что это рекомендуемый способ. Я сомневаюсь, что он использовал его, чтобы попытаться загрузить библиотеки SSJS. Вы также можете столкнуться с проблемами, потому что код находится в отдельных JVM.
По сути, для доступа к одному и тому же SSJS из нескольких NSF он должен находиться на уровне иерархии серверов выше NSF, то есть в плагине OSGi. Но если это код для собственного потребления, к тому времени вы, скорее всего, будете писать на Java, а не на SSJS.
На данный момент лучший вариант — скопировать и вставить или наследовать от шаблона.
person
Paul Stephen Withers
schedule
03.02.2015