2

我正在尝试使用带有 RichFaces 建议框组件的 SelectItems 列表。问题是我需要存储 id 而不是 SelectItem 的标签。似乎建议框总是存储标签,这会导致问题。有没有办法解决这个问题?

4

1 回答 1

5

我使用这样的东西:

<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 完成您正在寻找的工作。我的输入文本上还有一个转换器,因此用户只需输入一些内容(在我的实例中为联合国位置代码),我可以尝试在转换器中将其解析为对象。

于 2009-11-06T11:32:27.963 回答