gpt4 book ai didi

jsf - ICEfaces SelectOneMenu ValueChangeListener 不工作

转载 作者:行者123 更新时间:2023-12-04 19:22:17 30 4
gpt4 key购买 nike

我有一个简单的 ice:SelectOneMenu 和一个 ice:outputLabel 我想做的就是更改下拉列表中的值以设置我的文本标签告诉我我更改了值以及新值是什么(简单测试,一旦它起作用,我实际上会用它更新 ice:dataTable)

我已经为此工作了几天。 This link给了我一些关于阶段和事件的好信息,我已经尝试了所有的解决方案,但似乎没有一个对我有用。这在 asp.net 中是一项非常重要的任务,我不明白为什么它在 jsf 中如此复杂。我想我应该提一下,我在页面上还有一个 ice:selectInputDate,当我单击该图标打开日历以选择日期时,我的 SOM valuechangelistener 要么最终被调用,要么最终呈现新的标签文本(我猜是后者)。任何人都可以帮助我完成这项工作吗?非常感谢您的帮助,谢谢。

<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" 添加到组件中,与 component reference 底部附近某处展示的完全一样.

关于jsf - ICEfaces SelectOneMenu ValueChangeListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262416/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com