Я использую IBM Social Business Toolkit. Я определил соединение для своего приложения Notes через конечные точки в xml-файлеfaces-config. Интересно, как я могу получить доступ к этому файлу программно, так как я не смог найти службу, которая возвращает мне базовый URL-адрес IBM Connections.
как я могу программно получить доступ к свойствам конечной точки, установленным в Faces-config.xml?
Ответы (3)
Полезно помнить, что определение конечной точки на самом деле просто создает управляемый компонент. У управляемого bean-компонента есть имя переменной, на которое вы ссылаетесь, — свойство manage-bean-name. Вы можете получить к нему доступ непосредственно из SSJS или через ExtLibUtil.resolveVariable() в Java. В определении также указывается используемый класс Java, например. com.ibm.sbt.services.endpoints.ConnectionsBasicEndpoint. Это действительно дает вам всю информацию, необходимую для получения или установки свойств.
Таким образом, из SSJS вы можете просто привести его к имени класса, например.
var myService:com.ibm.sbt.services.endpoints.ConnectionsBasicEndpoint = connections
Таким образом, бит после двоеточия будет значением класса управляемого компонента, а бит после знака равенства будет именем управляемого компонента. В Java вы можете использовать
ConnectionsBasicEndpoint myService = (ConnectionsBasicEndpoint) ExtLibUtil.resolveVariable(ExtLibUtil.getXspContext().getFacesContext(), "connections");
После этого у вас будет доступ ко всем методам класса, поэтому вы сможете получить то, что вам нужно.
Свойства являются частью класса Java, на который ссылаются в Faces-Config.xml. Итак, получите класс по его полному имени или по имени компонента и установите или получите свойства
Я думаю, что лучшим маршрутом, скорее всего, будет то, что предлагает Пол: разрешить переменную по ее имени и использовать геттеры, чтобы таким образом получить эффективные свойства.
Предложение Свена полезно иметь в виду и в других ситуациях. Получив доступ к файлу Faces-config.xml как к ресурсу, вы можете загрузить его в анализатор XML и найти значения с помощью XPath. Я применяю подобные приемы в следующей версии OpenNTF Domino API, в которой будет набор методов для управления конфигурацией Faces. Тем не менее, один ключевой аспект заключается в том, что непосредственное чтение XML-файла просто даст вам строковые значения, которые могут быть выражениями EL, тогда как переход по маршруту resolveVariable даст вам реальные текущие свойства.