Ящик предложений Richfaces

Я пытаюсь использовать список SelectItems с компонентом предложения RichFaces. Проблема в том, что мне нужно сохранить идентификатор, а не метку SelectItem. Кажется, что предложениеBox всегда хранит метку, и это вызывает проблему. Есть ли выход из этой проблемы?


person user203617    schedule 05.11.2009    source источник


Ответы (1)


Я использую что-то вроде этого:

<h:inputText
    id="suggest"
    value="#{someBean.someStringValue}"
    converter="#{myStringValueConverter}">
    <a:support event="onblur" ajaxSingle="true"/>
</h:inputText>

<rich:suggestionbox for="suggest"
    suggestionAction="#{suggestionInstance.suggestion}"
    var="s"
    fetchValue="#{s.someValue}"
    ajaxSingle="true">
    <h:column>
        <h:outputText value="#{s.anotherValue}"/>
    </h:column>
    <h:column>
        <h:outputText value="#{s.yetAnotherValue}"/>
    </h:column>
    <a:support event="onselect" ajaxSingle="true" reRender="target">
        <f:setPropertyActionListener value="#{s}" target="#{someBean.someObject}" />
    </a:support>
</rich:suggestionbox>

SetPropertyActionListener выполняет работу, которую вы ищете. У меня также есть конвертер для моего входного текста, поэтому пользователь может просто ввести что-то (коды местоположения ООН в моем случае), и я могу попытаться проанализировать это в конвертере в объект.

person Damo    schedule 06.11.2009