0

我正在使用 IBM Social Business Toolkit。我已经通过 faces-config xml 文件中的端点为我的 Notes 应用程序定义了一个连接。我想知道如何以编程方式访问此文件,因为我找不到返回 IBM Connections 基本 url 的服务。

4

3 回答 3

2

记住端点定义实际上只是创建一个托管 bean 是很有用的。托管 bean 有一个您引用它的变量名称 - managed-bean-name 属性。您可以直接从 SSJS 或通过 Java 中的 ExtLibUtil.resolveVariable() 访问它。该定义还告诉您正在使用的 Java 类,例如 com.ibm.sbt.services.endpoints.ConnectionsBasicEndpoint。这确实为您提供了获取或设置属性所需的所有信息。

所以从 SSJS 你可以把它转换成类名,例如

var myService:com.ibm.sbt.services.endpoints.ConnectionsBasicEndpoint = connections

因此,冒号后面的位将是托管bean-class 值,等号后面的位将是托管bean-name。在 Java 中,您可以使用

ConnectionsBasicEndpoint myService = (ConnectionsBasicEndpoint) ExtLibUtil.resolveVariable(ExtLibUtil.getXspContext().getFacesContext(), "connections");

然后,您将可以访问该类的所有方法,因此您应该能够检索您需要的内容。

于 2014-05-14T08:34:09.117 回答
0

我认为最好的路线很可能是 Paul 所建议的:通过变量的名称解析变量并使用 getter 以这种方式获取有效的属性。

Sven 的建议在其他情况下值得牢记。通过将 faces-config.xml 文件作为资源访问,您可以将其加载到 XML 解析器中并使用 XPath 查找值。我在 OpenNTF Domino API 的下一个版本中做了很多这种技术,它将有一组用于操作 Faces 配置的方法。但是,一个关键方面是直接读取 XML 文件只会为您获取字符串值,这可能是 EL 表达式,而使用 resolveVariable 路线将为您获取真正的当前属性。

于 2014-05-14T20:50:18.233 回答
0

这些属性是 Java 类的一部分,它们在 Faces-Config.xml 中被引用。因此,通过他的完全限定名称或 bean 名称获取类并设置或获取属性

于 2014-05-14T08:28:47.347 回答