【发布时间】:2010-10-28 12:56:25
【问题描述】:
当使用 RichFaces suggestionBox 时,如何将多个 id 或值从带有文本输入的页面传递到 suggestionBox 支持 bean。即:显示所选州内的建议城市列表?这是我的autoComplete 方法。
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;
}
如您所见,从页面传递了一个值,ObjectSuggest,这是h:inputText 的文本(在faceLets 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>
在页面的前面,您可以选择我想用来减少建议框显示的郊区列表的州。
【问题讨论】:
-
您可能必须更明确地说明您正在尝试做什么 - 例如,发布一个带有您想要使用的控件的简单表单,并在用户输入数据时拼出事件序列。
-
所以您想选择州,那么建议框只会建议该州的郊区?选择状态的代码是什么样的?