【问题标题】:How can I get a handle to DataSource (document1) from a Java Bean如何从 Java Bean 获取 DataSource (document1) 的句柄
【发布时间】:2016-12-03 02:32:05
【问题描述】:

如何从 Java Bean 获取 XPage 上的 DataSource 句柄并调用其 Save() 方法?

默认变量 (ID) 是“document1”。

在服务器端 JavaScript 中,它是一个变量 document1.save(); //很简单。

但是,在 JSF 中,我认为我必须使用组件树 facesContext 来获取它的句柄。

想法?

【问题讨论】:

标签: java xpages datasource


【解决方案1】:

document1a "NotesXspDocument" (in Domino's SSJS) 的句柄,具体的Java 类是com.ibm.xsp.model.domino.wrapped.DominoDocument。获取此类已定义 document1 的句柄(无需通过参数将引用句柄传递给方法)的最简单方法是解析变量。

您可以使用resolveVariable(String name) 的扩展库的ExtLibUtil 方法,在9.0.1_v15 之前,这需要FacesContext 实例的第二个参数; resolveVariable(FacesContext ctx, String name).

或者,您可以完全跳过ExtLibUtil,尽管我更喜欢它并经常使用它,如下所示:

DominoDocument myDoc = (DominoDocument) FacesContext.getCurrentInstance()
    .getApplication().getVariableResolver()
    .resolveVariable(FacesContext.getCurrentInstance(), "document1");

从我们通过用户的FacesContext 实例解析变量这一事实可以看出,document1 必须实际存在/可以被给定的FacesContext 实例访问才能工作。 ExtLibUtil 方法都是 are wrappers to the FacesContext variable resolver

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2018-05-15
    • 1970-01-01
    • 2010-11-19
    • 2022-01-16
    • 2015-06-29
    相关资源
    最近更新 更多