如何将Java对象设置为自定义控件上的数据源

如何将Java对象设置为自定义控件上的数据源,java,xpages,datasource,Java,Xpages,Datasource,我有一个JavaBean,其方法返回PaymentItem类型的对象 Payments.getItem(viewScope.vsRIndex); 此方法从ArrayList 我在主页上有一个按钮,它在主页上呈现一个自定义控件,并将viewScope设置为正确的索引值 <xp:panel id="panelPaymentEntry" rendered="#{javascript:(viewScope.vsShowPayment) ? true : false;}">

我有一个JavaBean,其方法返回PaymentItem类型的对象

Payments.getItem(viewScope.vsRIndex);
此方法从
ArrayList

我在主页上有一个按钮,它在主页上呈现一个自定义控件,并将viewScope设置为正确的索引值

<xp:panel id="panelPaymentEntry"
    rendered="#{javascript:(viewScope.vsShowPayment) ? true : false;}">
    <xc:ccCOMPaymentInput></xc:ccCOMPaymentInput>
</xp:panel><!-- panelPaymentEntry -->
使用var=pItem

但似乎没有创建对象pItem。
我走对了吗?或者?????

通常,最干净的方法是在自定义控件上创建一个自定义属性来指定上下文对象-
值是常规拾取。所以你会有这样的想法:

<xc:ccCOMPaymentInput value="#{javascript:Payments.getItem(viewScope.vsRIndex)}"/>

您可能引用的对象数据源也可以工作,但并不总是必需的。

当我按照您的建议添加自定义控件时:我收到一个错误“unknown Property vlaue”,我没有为ccCOMPaymentInput定义自定义属性。此外,我需要将viewScope.vsRIndex转换为整数,但这并不困难。我是否需要向自定义控件ccCOMPaymentInput添加一些内容?自定义属性的类型应手动输入为:java.util.ObjectAlway-下一个注释9-#182应为您提供一个相关示例。Dave有一个输入错误:它是“java.lang.Object”,而不是util。我还使用“Object”的Javascript约定,因为我很懒。在任何情况下,编辑自定义控件时的属性应该如下所示
<xc:ccCOMPaymentInput value="#{javascript:Payments.getItem(viewScope.vsRIndex)}"/>
<xp:inputText value="#{compositeData.value.someTextField}"/>