首页 > 解决方案 > ADF selectOneChoice 交替触发 ValueChangeListener

问题描述

我有一个 SelectOneChoice,其中包含我通过 ManagedBean 填充的 SelectItems 列表。该 SOC 具有触发 BackingBean 中的某些操作的 ValueChangeListener。问题是有时会触发 ValueChangeListener,有时不会。更详细地说,当 ValueChangeListener 恢复工作时,有时它不会向侦听器发送正确的数据。

使用 JDev 11g R1 (11.1.1.7.0)。

我的 SelectOneChoice:

<af:selectOneChoice label="Change budget code" id="socChangeBudgetCode"
   valueChangeListener="#{backingBeanScope.BudgetBean.changeBudgetCode}" 
   autoSubmit="true"
   disabled="#{NewBudgetBean.itemCount &lt;= 1}"
   value="#{bindings.budgetNum.inputValue}">
   <f:selectItems value="#{NewBudgetBean.items}" id="si1"/>
</af:selectOneChoice>

我的 ValueChangeListener:

public void changeBudgetCode(ValueChangeEvent vce) {
   System.out.println("BudgetBean.changeBudgetCode(); old = " + vce.getOldValue() + "; new = " + vce.getNewValue());
   budgetNum = (String)vce.getNewValue(); // budgetNum is a member in BudgetBean
   callBudjectDetailsWS(); // callBudjectDetailsWS uses the value in budgetNum and call a webservice to do some work
}

标签: jsporacle-adf

解决方案


推荐阅读