Jsf p:selectOneMenu,自定义内容和可编辑=true
我对Jsf p:selectOneMenu,自定义内容和可编辑=true,jsf,primefaces,selectonemenu,Jsf,Primefaces,Selectonemenu,我对p:selectOneMenu有以下用法: <p:selectOneMenu id="selectField" value="#{someBean.someField}" converter="#{selectItemConverter}" var="x" editable="true"> <f:selectItems value="#{selectItemsBean.getSelectItems(tab, field)}" var=
p:selectOneMenu
有以下用法:
<p:selectOneMenu id="selectField"
value="#{someBean.someField}"
converter="#{selectItemConverter}" var="x" editable="true">
<f:selectItems
value="#{selectItemsBean.getSelectItems(tab, field)}" var="si"
itemLabel="#{si.label}" itemValue="#{si}" />
<p:column>
<h:outputText value="#{si.label}" />
</p:column>
<p:column>
<h:graphicImage library="images" name="noway_16x16.png"
title="#{si.disabledReason}" rendered="#{si.disabled}" />
</p:column>
<p:ajax event="change" update="@form" partialSubmit="true" process="selectField" />
</p:selectOneMenu>
如您所见,我将自定义内容与editable=true
结合使用。当我提交表单时,转换器获取所选项目的标签作为值,而不是实际值。在HTML页面中,值是正确的,例如C样式安装
。使用editable=false
,将正确的值(例如C
发送到转换器,使用editable=true
转换器检索C型安装
)
我想要的是,用户可以选择列表中的一个预定义项目,然后服务器提交该项目的值,或者用户输入某个内容并作为值提交。但是当前的行为有点奇怪,或者我只是想要太多?经过大量搜索,我在Primefaces论坛b上找到了该线程简单地讨论同样的问题:简短版本:不行,既有基于Pojo的SelectOne菜单,也有可编辑的菜单。