java - 如何显示 <h :selectOneMenu> in a <h:outputText>? 的选定值的标签

标签 java jsf jsf-2

我想显示<h:selectOneMenu />所选值的标签在 <h:outputText /> .

我有以下下拉菜单,可在其中获取所选值。

<h:column>
    <h:selectOneMenu value="#{bean.selectedCity}">
        <f:selectItem itemValue="1" itemLabel="NewYork"/>
        <f:selectItem itemValue="2" itemLabel="Washington"/>
    </h:selectOneMenu>
</h:column>

我想显示选中的值,但是下面只显示12

<h:outputText value="#{bean.selectedCity}" />

我想显示标签NewYorkWashington 。我怎样才能做到这一点?

最佳答案

根据新的编辑和评论更新#2:啊,我们终于到达某个地方(我删除了整个旧答案,如果您想查看它,请检查编辑历史记录)无论如何)。

你只需要维护类似 Map<Long, String> cities 的东西在模型中的某个位置,然后按如下方式使用它:

<h:outputText value="#{bean.cities[bean.selectedCity]}" />

这基本上会显示 bean.getCities().get(bean.getSelectedCity()); 。您甚至可以重复使用该 map <f:selectItems>这样您就不需要在两个地方维护它。

关于java - 如何显示 <h :selectOneMenu> in a <h:outputText>? 的选定值的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801776/

相关文章:

javascript - OutputScript 不加载我的 JavaScript 源

java - Android-IllegalStateException : could not execute method of the activity

java - 更新到 Gradle 1.2.2 后 Gradle 构建失败

java - 如何从引用 ADF 中类名的属性标记的操作中调用方法

java - 如何在匿名类上调用 JSF 操作? EL无法访问

java - FacesContext : separate error and success messages

java - 如何在 JSF 中关闭浏览器时使 session 无效

java - Glide 4.7.1 监听器不适用于 onResourceReady 方法和异常监听器

Java 8 : How to go through List with Lambda Expression

java - 管理多个 h :inputText? 的正确方法