2011-01-26 60 views
0

我想在<h:outputText />中顯示選定值<h:selectOneMenu />的標籤。如何在<h:outputText>中顯示<h:selectOneMenu>的選定值的標籤?

我有以下的下拉列表,我得到選定的值。

<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。我怎樣才能做到這一點?

+1

我真的不明白你。發佈一個模型或一些簡單的HTML代碼,說明結果應該如何。 – BalusC 2011-01-26 12:22:45

+0

請提供詳細的問題。 – Krishna 2011-01-26 13:08:25

+0

我只想看看的值。我希望顯示爲。 – 2011-01-26 16:05:16

回答

1

更新#2根據新的編輯和評論:啊我們終於得到某處(我刪除了整個舊的答案,如果你想看看它,請查看編輯歷史記錄)。

你只需要保持像在模型中Map<Long, String> cities的地方,然後用它如下:

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

這基本上都會顯示bean.getCities().get(bean.getSelectedCity());。你甚至可以重複使用地圖<f:selectItems>,這樣你就不需要將它保存在兩個地方。

0

如果你想看到它的價值,你需要使用禁用財產和displayClass

可以使用T:selectOneMenu用於標籤與diplayValueOnly = 「真」財產

<h:selectOneMenu disable="true"> 
     <f:selectItem id="si1" itemLabel="Thums Up" itemValue="11" /> 
</h:selectOneMenu> 

<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%> 

<t:selectOneMenu displayValueOnly="true"> 
      <f:selectItem id="si1" itemLabel="Thums Up" itemValue="11" /> 
</t:selectOneMenu> 
相關問題