jsf访问selectedItem

jsf访问selectedItem,jsf,jsf-2,Jsf,Jsf 2,我在jsf中实现了以下selectOneListBox <h:selectOneListbox value="#{category.selectedCategoryId}" onchange="submit()" valueChangeListener="#{category.changeFunction}"> <f:selectItems value="#{category.categoryValues}" var="cat"

我在jsf中实现了以下selectOneListBox

<h:selectOneListbox value="#{category.selectedCategoryId}" onchange="submit()"   
        valueChangeListener="#{category.changeFunction}">
        <f:selectItems value="#{category.categoryValues}" var="cat"
        itemLabel="#{cat.categoryName}" itemValue="#{cat.categoryId}" />
</h:selectOneListbox>

如您所见,我只能在onchange函数中访问所选项的itemValue。我想访问itemValue只是其一部分的对象。这是怎么可能的?

您需要将选择项的值设置为整个类别,例如:

<h:selectOneListbox value="#{category.selectedCategoryId}" onchange="submit()"   
    valueChangeListener="#{category.changeFunction}">
    <f:selectItems value="#{category.categoryValues}" var="cat"
    itemLabel="#{cat.categoryName}" itemValue="#{cat}" converter="catConverter"/>
</h:selectOneListbox>
<h:selectOneListbox value="#{category.selectedCategoryId}" onchange="submit()"   
    valueChangeListener="#{category.changeFunction}">
    <f:selectItems value="#{category.categoryValues}" var="cat"
    itemLabel="#{cat.categoryName}" itemValue="#{cat}" converter="catConverter"/>
</h:selectOneListbox>
@FacesConverter("catConverter")
public class CategoryConverter implements Converter {
...
}