我有一个带有Method的Java Bean,它返回一个PaymentItem类型的Object
Payments.getItem(viewScope.vsRIndex);
此方法返回ArrayList<PaymentItem>
我的主页上有一个按钮,在主页面上显示一个自定义控件,并将viewScope设置为正确的索引值。
<xp:panel id="panelPaymentEntry"
rendered="#{javascript:(viewScope.vsShowPayment) ? true : false;}">
<xc:ccCOMPaymentInput></xc:ccCOMPaymentInput>
</xp:panel><!-- panelPaymentEntry -->
我想将ccCOMPaymentInput的dataSource设置为Payments.getItem(viewScope.vsRIndex)
我将此代码添加到createObject
try{
Payments.getItem(viewScope.vsRIndex);
}catch(e){
//do nothing
}
使用var = pItem
但似乎没有创建Object pItem。 我是在正确的轨道上吗?或?????
答案 0 :(得分:2)
通常,最简单的方法是在自定义控件上创建自定义属性以指定上下文对象 - value
是常规选择。所以你有类似的东西:
<xc:ccCOMPaymentInput value="#{javascript:Payments.getItem(viewScope.vsRIndex)}"/>
然后,在控件中,您可以将其引用为compositeData.value
。例如:
<xp:inputText value="#{compositeData.value.someTextField}"/>
您可能提到的对象数据源也可以使用,但并不总是必要的。