我有一个 Java Bean,其方法返回 PaymentItem 类型的对象
Payments.getItem(viewScope.vsRIndex);
此方法返回 ArrayList<PaymentItem>
中的第 n 个项目
我的主页上有一个按钮,它在主页上呈现一个自定义控件,并将 viewScope 设置为正确的索引值。
<xp:panel id="panelPaymentEntry"
rendered="#{javascript:(viewScope.vsShowPayment) ? true : false;}">
<xc:ccCOMPaymentInput></xc:ccCOMPaymentInput>
</xp:panel><!-- panelPaymentEntry -->
我想将 ccCOMPaymentInput 的数据源设置为 Payments.getItem(viewScope.vsRIndex)
返回的 PaymentItem
我将此代码添加到 createObject
try{
Payments.getItem(viewScope.vsRIndex);
}catch(e){
//do nothing
}
使用 var = pItem
但似乎并没有创建对象 pItem。 我走在正确的轨道上吗?或?????
最佳答案
通常,最简洁的方法是在自定义控件上创建自定义属性来指定上下文对象 - value
是常规选择。所以你会得到类似的东西:
<xc:ccCOMPaymentInput value="#{javascript:Payments.getItem(viewScope.vsRIndex)}"/>
然后,在控件内,您可以将其引用为 compositeData.value
。例如:
<xp:inputText value="#{compositeData.value.someTextField}"/>
您可能引用的对象数据源也可以工作,但并不总是必需的。
关于java - 如何将 Java 对象设置为自定义控件上的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32596357/