如何在 JSF 标记 selectOneMenu 中使用转换器?

How I can use a converter in a JSF tag selectOneMenu?

以下示例适用于我的界面:

<h:outputText value="#{diplome.pays}">
    <gn:converter origine="#{config.origManSirhen}"
                  nomenclature="#{config.codePays}"
                  propriete="libelleImpression" />
</h:outputText>

但是,当我尝试使用相同的转换器时,当元素是 selectOneMenu

时不起作用
<p:selectOneMenu id="pays">
    <f:selectItem
        itemValue="#{InformationsPersonnellesModele.adressePrincipale.pays}"
        itemLabel="#{InformationsPersonnellesModele.adressePrincipale.pays}" />
    <gn:converter origine="#{config.origManSirhen}"
        nomenclature="#{config.codePays}" propriete="libelleImpression" />
</p:selectOneMenu>

我已经尝试在 selectOneMenu 标签中使用 converter 属性,但它没有像我预期的那样工作,因为我还需要使用参数命名法和属性。

我找到了一个可能的解决方案:

默认选择的项目必须是selectOneMenu标签的值。

并且项目列表和转换器直接赋值给selectItems标签的值。

<p:selectOneMenu id="pays"
    value="#{InformationsPersonnellesModele.adressePrincipale.pays}">
    <f:selectItems
        value="#{gnl:listeTri(config.origManSirhen, config.codePays,'libelleImpression')}" />
</p:selectOneMenu>