我正在尝试使用带有RichFaces suggestionBox组件的SelectItem列表。问题是我需要存储id而不是SelectItem的标签。似乎suggestionBox总是存储标签,这会导致问题。有没有办法摆脱这个问题?
答案 0 :(得分: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位置代码),我可以尝试在转换器中将其解析为Object。