gpt4 book ai didi

java - 冰 :selectOneMenu sending the wrong value

转载 作者:行者123 更新时间:2023-11-30 12:01:02 25 4
gpt4 key购买 nike

我的 JSF/ICEFaces 应用程序有多个下拉菜单,它们相互更新,因此根据对其中一个的选择,其他菜单的内容会更新。

问题是菜单发送了错误的值。似乎它发送的是之前的值而不是当前的值!不知道为什么!

有什么想法吗?

谢谢,

  <td>
<ice:selectOneMenu id="selectCurApplNm"
value="#{statsDisplayAndFilter.applIDFilterPhrase}"
disabled="#{statsDisplayAndFilter.disableCurrentApplIdNamesMenu}"
valueChangeListener="#{statsDisplayAndFilter.fetchEventNames}"
partialSubmit="true" immediate="true">
<f:selectItem itemValue="" itemLabel="" />
<f:selectItem itemValue="all" itemLabel="all" />
<f:selectItems id="selectCurApplNmItems"
value="#{statsDisplayAndFilter.currentApplIdItems}" />
</ice:selectOneMenu>
</td>
</tr>
<tr>
<td>
<ice:outputLabel for="SlctCompTyp" value="Event Name: " />
</td>
<td>
<ice:selectOneMenu id="SlctCompTyp"
value="#{statsDisplayAndFilter.eventNameFilterPhrase}"
disabled="#{statsDisplayAndFilter.disableEventNamesMenu}"
valueChangeListener="#{statsDisplayAndFilter.fetchMethodNames}"
partialSubmit="true" immediate="true">
<f:selectItem itemValue="" itemLabel="" />
<f:selectItem itemValue="all" itemLabel="all" />
<f:selectItems id="SlctcompTypeItms"
value="#{statsDisplayAndFilter.eventNameItems}" />
</ice:selectOneMenu>
</td>
</tr>

最佳答案

我发现当它调用 valueChangeListener 中定义的方法时,该值尚未绑定(bind)到正确的变量,因此我不得不使用事件变量来获取新值:

public void fetchEventNames(ValueChangeEvent e) throws SQLException{
String filteringOptions = "";
String newSelectedValue = e.getNewValue().toString();
.....

这就解决了问题

关于java - 冰 :selectOneMenu sending the wrong value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262777/

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