我的selectOneMenu每次选择最后一个值

时间:2017-10-30 08:04:47

标签: java-ee

为什么我的SelectOneMenu每次选择最后一个值

这是我的SelectOneMenu代码:

<p:selectOneMenu   id="marque" style="font-family:Times, serif; font-size:13px;">
                        <f:selectItem   itemLabel="" />
                        <f:selectItems value="#{marqueBean.listAllMarque()}" var="item"  itemValue="#{biensBean.biens.setIdmarque(biensBean.biensFacade.getMarque(item.idmarque))}" itemLabel="#{item.libelle}" />
                    </p:selectOneMenu> 

请有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要实施javax.faces.convert.Converter,将idmarque转换为Marque(例如参见CDI Injection into a FacesConverter

<p:selectOneMenu value="biensBean.biens" converter="yourConverter">
 <f:selectItem itemLabel="" />
 <f:selectItems value="#{marqueBean.listAllMarque()}" var="item"
    itemValue="#{item.idmarque}" itemLabel="#{item.libelle}" />
</p:selectOneMenu> 

或者如果您只想在idmarque中选择biensBean.biens.idmarque,那么您可以使用

<p:selectOneMenu value="biensBean.biens.idmarque" ...>
 <f:selectItem itemLabel="" />
 <f:selectItems value="#{marqueBean.listAllMarque()}" var="item"
    itemValue="#{item.idmarque}" itemLabel="#{item.libelle}" />
</p:selectOneMenu>