2

List of SelectItems を RichFacesSuggestionBox コンポーネントで使用しようとしています。問題は、SelectItem のラベルではなく ID を保存する必要があることです。提案ボックスには常にラベルが保存されているようで、それが問題を引き起こしています。この問題を解決する方法はありますか?

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は、探しているジョブを実行します。また、入力テキストにコンバーターがあるので、ユーザーは何か(私のインスタンスではUNロケーションコード)を入力するだけで、これをオブジェクトへのコンバーターで解析することができます。

于 2009-11-06T11:32:27.963 に答える