使用 RichFaces 时suggestionBox
如何从带有文本输入的页面传递多个 id 或值suggestionBox
支持豆。即:显示所选州内的建议城市列表?这是我的autoComplete
method.
public List< Suburb > autocomplete(Object suggest)
{
String pref = (String) suggest;
ArrayList< Suburb > result = new ArrayList< Suburb >();
Iterator< Suburb > iterator = getSuburbs().iterator();
while( iterator.hasNext() )
{
Suburb elem = ((Suburb) iterator.next());
if( (elem.getName() != null && elem.getName().toLowerCase().indexOf( pref.toLowerCase() ) == 0) || "".equals( pref ) )
{
result.add( elem );
}
}
return result;
}
正如你所看到的,有一个值从页面传递过来,Object
建议,这是文本h:inputText
(在脸上让m:textFormRow
)
<m:textFormRow id="suburb" label="#{msgs.suburbPrompt}"
property="#{bean[dto].addressDTO.suburb}"
required="true" maxlength="100" size="30" />
<rich:suggestionbox height="200" width="200" usingSuggestObjects="true"
suggestionAction="#{suburbsMBean.autocomplete}" var="suburb" for="suburb"
fetchValue="#{suburb.name}" id="suggestion">
<h:column>
<h:outputText value="#{suburb.name}" />
</h:column>
</rich:suggestionbox>
在页面的前面,您可以选择一个州,我想用它来减少建议框显示的郊区列表。
(免责声明:我知道这个问题是很久以前提出的,但这也许会对遇到类似问题的人有所帮助......)
查看这篇博客文章,其中涉及类似的内容:RichFaces - SuggestionBox 和隐藏字段.
关键是要使用<f:setPropertyActionListener value="#{...}" target="#{...}">
包裹在里面<a4j:support event="onselect" ajaxSingle="true">
。这可用于在以下情况下为支持 bean 设置附加值:onselect
为 SuggestionBox 触发。
通过这种方法,我成功创建了一个 SuggestionBox,用于显示(并自动完成)客户的建议names但经过选择后设置了一个整体客户对象(具有多个属性;由 id 标识)用于 bean。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)