We will explain how to get the value of SelectOneChoice rather than index.
as figured in below picture
Assume we have a Model-Driven List for DepartmentId attribute with the display value of DepartmentName and selectOneChoice bound to DepartmentId attribute in jspx page
Using Expression Language
the code of SelectOneChoice in page as below
<af:selectOneChoice value="#{bindings.DepartmentId.inputValue}"
label="Select Department"
required="#{bindings.DepartmentId.hints.mandatory}"
shortDesc="#{bindings.DepartmentId.hints.tooltip}" id="soc1"
binding="#{backingBeanScope.backing_SelectOneChoice.soc1}"
autoSubmit="true">
<f:selectItems value="#{bindings.DepartmentId.items}" id="si1"
binding="#{backingBeanScope.backing_SelectOneChoice.si1}"/>
</af:selectOneChoice>
label="Select Department"
required="#{bindings.DepartmentId.hints.mandatory}"
shortDesc="#{bindings.DepartmentId.hints.tooltip}" id="soc1"
binding="#{backingBeanScope.backing_SelectOneChoice.soc1}"
autoSubmit="true">
<f:selectItems value="#{bindings.DepartmentId.items}" id="si1"
binding="#{backingBeanScope.backing_SelectOneChoice.si1}"/>
</af:selectOneChoice>