ICEfaces的selectonemenuvaluechangellistener不工作



我有一个简单的ice:SelectOneMenuice:outputLabel,我想做的就是当我改变下拉菜单中的值来设置标签中的文本时,告诉我我改变了值和新值是什么(简单的测试,一旦这起作用,我将用这个更新ice:dataTable)

我已经为此工作了几天了。这个链接给了我一些关于阶段和事件的好信息,我尝试了所有的解决方案,但似乎没有一个适合我。这在asp.net中是一个非常重要的任务,我不明白为什么它在jsf中如此复杂。我想我应该提到,我在页面上也有一个ice:selectInputDate,当我单击图标打开日历进行日期选择时,我的SOM valuechangellistener最终被调用,或者它最终呈现新的标签文本(我猜是后者)。有人能帮我把这个修好吗?我真的很感激你的帮助,谢谢。

<ice:selectOneMenu valueChangeListener="#{easp$PartsInv.changeRC}"  binding="#{easp$PartsInv.SOM_RC}" id="SOM_RC">
    <f:selectItems binding="#{easp$PartsInv.SOM_RC_Items}" id="SOM_RC_Items" />
</ice:selectOneMenu>
<ice:outputLabel binding="#{easp$PartsInv.lblStatus}" id="lblStatus" style="color:red;" value=""></ice:outputLabel>

当前java代码(更改了几次尝试不同的东西):

//event raised when user chooses a new RC (Repair Center) value.
public void changeRC(ValueChangeEvent vce)
{
    String oldVal = vce.getOldValue().toString();
    if(oldVal != null){
        String newVal = vce.getNewValue().toString();
        this.lblStatus.setValue("RC changed to " + newVal);
        if(!newVal.equals(oldVal)){
            FacesContext.getCurrentInstance().renderResponse();
        }
    }
}

partialSubmit="true"添加到组件中,就像在组件引用的底部所演示的那样。

相关内容

  • 没有找到相关文章

最新更新