Как отобразить метку выбранного значенияв? - PullRequest
0 голосов
/ 26 января 2011

Я хочу показать метку выбранного значения <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>

Я хочу отобразить выбранное значение, но следующее показывает только 1 или 2.

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

Я хочу отобразить метку NewYork или Washington. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 26 января 2011

Обновление # 2 на основе новых правок и комментариев: ах мы наконец-то куда-то попали (я удалил весь старый ответ, проверьте историю редактирования, если вы все равно хотите его увидеть).

Вам просто нужно сохранить что-то вроде Map<Long, String> cities где-то в вашей модели, а затем использовать его следующим образом:

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

Это будет в основном отображать bean.getCities().get(bean.getSelectedCity());.Вы даже можете повторно использовать карту для <f:selectItems>, чтобы вам не нужно было поддерживать ее в двух местах.

0 голосов
/ 26 января 2011

Если вы хотите увидеть его значение, вам нужно использовать свойство disable и displayClass

, вы можете использовать тег t: selectOneMenu с diplayValueOnly= "true" свойство

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...