【发布时间】:2014-02-15 15:03:15
【问题描述】:
我有一个<p:selectOneMenu>,其中有一个<f:selectItems>,在这个<f:selectItems> 中我设置了一个itemLabel 和一个itemValue。项目值是一个Enum 对象,它只包含一个字符串,标签是这些字符串。 <p:selectOneMenu> 的值是这些 Enum 对象的集合。 selectOneMenu 有一个valueChangeListener,当它被调用时,它成为“新值”的标签,而不是值。有谁知道我该如何解决这个问题?
<h:form>
<p:selectOneMenu id="changeSpracheMenu"
value="#{sessionManager.currentUser.sprache}"
label="#{messageManager.getMessage('USER')}"
valueChangeListener="#{sessionManager.updateSpracheForCurrenUser}"
converter="sprachConverter">
<f:selectItem itemLabel="#{messageManager.getMessage('LANGUAGE')}"
noSelectionOption="true" />
<f:selectItems value="#{sprachManager.allSprachen}" var="sprache"
itemLabel="#{messageManager.getMessage('LANGUAGE_'.concat(sprache.name))}"
itemValue="#{sprache}" />
<p:ajax event="change" update="@form" />
</p:selectOneMenu>
</h:form>
【问题讨论】:
标签: jsf jsf-2 primefaces