如何在 JSF 标记 selectOneMenu 中使用转换器? [复制]

Posted

技术标签:

【中文标题】如何在 JSF 标记 selectOneMenu 中使用转换器? [复制]【英文标题】:How I can use a converter in a JSF tag selectOneMenu? [duplicate] 【发布时间】:2018-08-29 08:33:15 【问题描述】:

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

<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>

我尝试将属性converter 使用到selectOneMenu 标记中,但它没有按预期工作,因为我还需要使用参数命名法和propiete。

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于如何在 JSF 标记 selectOneMenu 中使用转换器? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从循环或数组填充JSF selectonemenu

JSF 2.0每次从selectOneMenu中选择一个项目时如何显示不同的h:panelGroup

如何使用自定义 JSF 转换器将 h:selectOneMenu 项转换为 List<String>?

如何显示/隐藏 jsf 组件

在 SelectOnemenu 上重置 JSF Primefaces 输入值

在 JSF 中向 selectOneMenu 添加“未选择”选项的最佳方法