我是JDeveloper和ADF的新手,从selectOneChoice组件获取所选值时遇到了一个问题。这是valuChangeListener:

public void versionValueChangeListener(ValueChangeEvent valueChangeEvent) {
    System.out.println(valueChangeEvent.getOldValue().toString());
    System.out.println(valueChangeEvent.getNewValue().toString());

}


这给出的是所选选项的索引,而不是文本本身。如何获取文本而不是索引?
这是selectOneChoice的代码:

<af:selectOneChoice value="#{bindings.Version.inputValue}"
                                      label="#{bindings.Version.label}"
                                      required="#{bindings.Version.hints.mandatory}"
                                      shortDesc="#{bindings.Version.hints.tooltip}"
                                      id="soc3" autoSubmit="true"
                                      valueChangeListener="#{savesBean.versionValueChangeListener}">
                    <f:selectItems value="#{bindings.Version.items}" id="si3"/>
                  </af:selectOneChoice>


谢谢:)

最佳答案

这是Orcle的家伙这样做的方式

How-to get the selected af:selectOneChoice Label 尽管我认为可以用其他方式完成...

我认为您最好构建一个map,其中索引将是键,值是标签

比在versionValueChangeListener中,您将访问以下地图:

myMap.get(valueChangeEvent.getNewValue().toString());

07-26 09:40